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

操作SQL server2008 插入数据时出错,怎么回事

2013-04-02 
操作SQL server2008插入数据时出错,咋回事?private void button1_Click(object sender, EventArgs e){//建

操作SQL server2008 插入数据时出错,咋回事?


        private void button1_Click(object sender, EventArgs e)
        {            
            //建立Sql查询语句
            string sql = "select * from raifu";
            //创建SQL命令行对象
            SqlCommand  cmd= new SqlCommand(sql,sqlCon);
            //执行命令行对象           
            SqlDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            IList<UserInfo> users = new List<UserInfo>();
            while (odr.Read())
            {
                UserInfo user = new UserInfo();
                user.UserID = Convert.ToInt32(odr["id"]);
                user.UserName = Convert.ToString(odr["name"]);
                user.UserAge = Convert.ToString(odr["age"]);
                users.Add(user);
            }
            
            dataGridView1.Columns["col1"].DataPropertyName = "UserID";
            dataGridView1.Columns["col2"].DataPropertyName = "UserName";
            dataGridView1.Columns["col3"].DataPropertyName = "UserAge";
            //绑定DataGridView控件
            dataGridView1.DataSource = users;
            //odr.Close();
        }
//插入数据
        private void button2_Click(object sender, EventArgs e)
        {
            //建立Sql语句
            string sql = "insert into raifu (1003,'Jerry','30');";
            //创建SQL命令行对象
            SqlCommand cmd = new SqlCommand(sql, sqlCon);
            //执行命令行对象           
            SqlDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 


// 这句报错
        }



连接字符串


 // 连接数据字符串并打开数据库
            sqlCon.ConnectionString = @"Data Source = lenovo-a55793a5\SQLEXPRESS; Initial Catalog = tempdb; User Id = sa; Password = sys; MultipleActiveResultSets=True;";
            sqlCon.Open();



代码都是网上抄的, 查询那块都是没问题的

往数据库里插入数据,是模仿查询那块代码,,但是
 SqlDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 

这句报错了



[解决办法]
改成下面的
/*SqlDataReader odr = */
cmd.ExecuteNonQuery(CommandBehavior.CloseConnection); 
[解决办法]
引用:
晕,后面的参数也不要
改成
cmd.ExecuteNonQuery();

+1
另外你的"insert into raifu (1003,'Jerry','30');"
应该把";"去掉
[解决办法]
错误是什么?
string sql = "insert into raifu (1003,'Jerry','30');" sql 对么?在sql server里面手动跑下看看。

印象中
insert into table(col1,col2,col3) values (val1,val2,val3);
insert into table select val1,val2,val3 from table2
insert into table values(val1,val2,val3)



[解决办法]
上面的人找出了很多错  都不给分 ...走过
[解决办法]
string sql = "insert into raifu (1003,'Jerry','30');";
这条SQL语句错了。
Insert Into语法格式为:insert into table(col1,col2,col3) values (val1,val2,val3);

[解决办法]
sql语句不能有;,另外语句不对啊
[解决办法]
 //建立Sql语句
            string sql = "insert into raifu (1003,'Jerry','30');";
            //创建SQL命令行对象
            SqlCommand cmd = new SqlCommand(sql, sqlCon);
            //执行命令行对象           
            cmd.ExecuteNonQuery();
既然是插入,用cmd.ExecuteNonQuery();
还有string sql = "insert into raifu (1003,'Jerry','30');";错了
string sql = "insert into raifu values (1003,'Jerry','30');"
最好是把列明也写出来
insert into raifu (field1,field2,field3) values (1003,'Jerry','30')

热点排行