首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

老师帮忙见见,自己找不出来哪错了

2013-12-17 
老师帮忙看看,自己找不出来哪错了private void button4_Click(object sender, EventArgs e){if (openFileD

老师帮忙看看,自己找不出来哪错了


  private void button4_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string cstr = @"Data Source=.;Initial Catalog=student;Integrated Security=True";
                string paths = openFileDialog1.FileName;
                string[] names = File.ReadAllLines(paths,Encoding.Default);
                string sql = "insert into Score(sno,cno,grade) values('@SNO','@CNO','@GRADE')";
                using (SqlConnection conn = new SqlConnection(cstr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        conn.Open();
                        MessageBox.Show("!!!");
                        foreach (string str in names)
                        {
                            string[] arr = str.Split('-');
                            //string SNO = arr[0];
                            //string CNO = arr[1];
                            //string GRADE = arr[2];
                            MessageBox.Show(arr[0]);
                            MessageBox.Show(arr[1]);
                            MessageBox.Show(arr[2]);
                            cmd.Parameters.Add(new SqlParameter("SNO", arr[0]));
                            cmd.Parameters.Add(new SqlParameter("CNO", arr[1]));
                            cmd.Parameters.Add(new SqlParameter("GRADE", arr[2]));
                            MessageBox.Show(sql);
                            cmd.ExecuteNonQuery();
                        }
                        MessageBox.Show("数据导入成功!!!");
                    }
                }
            }
        }
显示出来的sql语句就是insert into Score(sno,cno,grade) values('@SNO','@CNO','@GRADE'),明明都给赋值了,为什么还是不行啊???? C# 数据库


[解决办法]
insert into Score(sno,cno,grade) values(@SNO,@CNO,@GRADE)//把单引号去掉
[解决办法]
变量就不需要引号了

insert into Score(sno,cno,grade) values(@SNO,@CNO,@GRADE)
[解决办法]

引用:
insert into Score(sno,cno,grade) values(@SNO,@CNO,@GRADE)//把单引号去掉
+1 
[解决办法]
另外,sql parameter的名字要加@

cmd.Parameters.Add(new SqlParameter("@SNO", arr[0]));
cmd.Parameters.Add(new SqlParameter("@CNO", arr[1]));
cmd.Parameters.Add(new SqlParameter("@GRADE", arr[2]));

热点排行