private void button7_Click(object sender, EventArgs e)
{ //连接数据库,成功了
string lianjiezichuan = "server=(local)\\sqlexpress; database=fifdb; uid=sa ; pwd=weiyl37";
SqlConnection conn2 = new SqlConnection(lianjiezichuan );
SqlCommand cmd = new SqlCommand();
conn2.Open();
cmd.Connection = conn2;
//查询 label6显示 true
cmd.CommandText = "select * from tbl_user";
SqlDataReader shuju = cmd.ExecuteReader();
shuju.Close() ;
conn2.Close(); //插入 将fif studio 倒表tbl_user 中的 u_user u_code 字段,但是不成功
conn2.Open();
cmd.Connection = conn2;
cmd.CommandText ="insert into tbl_user (u_user,u_code) values ('fif','studio')";
int i;
i = cmd.ExecuteNonQuery();
label7.Text = i.ToString();
}
label7 如果显示数字1,表示插入成功,可是就是不显示,高手清告诉我,错在何处?
否则你就在insert语句中都提供。
sql语句中插入语句好像没有“into” 吧,去掉into?insert tbl_user (u_user,u_code) values ('fif','studio')
catch(Excepetion ex)
{
}
执行到
catch(Excepetion ex)
看ex的值就可以看到错误了!!
if(!IsPostBack)
{
//例如
string a=textbox1.text;
string b=textbox2.text;
}
我想问题不在代码,在表的结构上!
看是不是数据类型或者check约束什么的!!
1.在插入前把conn2给close掉了,.NET环境可能已经把conn2对象释放了,即cmd得不到Connection对象了。
而且SqlDataReader 对象关闭时也会把connection对象关闭的。所以中间的shuju.Close() ;与 conn2.Close(); 放到最后,中间的conn2.open()去掉。2.可能你tbl_user表中还有 不允许空的字段。
第二:检查一下是不是表结构有问题;
第三:是不是插入的数据类型不对。楼主记得散分啊。