读书人

操作SQL server2008 插入数据时出错

发布时间: 2013-04-02 12:35:26 作者: rapoo

操作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";
//绑—ataGridView控件
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')

读书人网 >C#

热点推荐