回 帖 发 新 帖 刷新版面

主题:[讨论]C#将控件中的数据向SQL中提交时提示对象〔表〕无效!!

将控件中的数据提交到SQL数据库中,表的结构如下: 
表名Nomal,表中有标识自动增加id. 
代码如下: 
SqlConnection conn =new SqlConnection("server=C89D111BE62A4FB;database=WareHouse;Uid=sa;Pwd=1124_asdf"); 
SqlCommand cmd = new SqlCommand(); 
cmd.CommandText = "insert into Normal([Mno],[Mname],[Mamount],[Mprice],[Mmin],[Mmax],[Mclass],[Mbatch],[Shelf],[Intime],[Admin],[Supplier],[Notes]) Values ('" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox8.Text + "','" + textBox9.Text + "','" + comboBox2.SelectedItem.ToString () + "','" + textBox1.Text + "','" + textBox7.Text + "','" + comboBox1.SelectedItem.ToString () + "','" + textBox10.Text + "','" + textBox2.Text + "','" + richTextBox1.Text + "')"; 
cmd.Connection = conn; 
try 

conn.Open(); 
cmd.ExecuteNonQuery(); 

catch (Exception err) 

MessageBox.Show(err.Message, "修改记录失败"); 

finally 

conn.Close(); 


可是老是提示,对象'Nomal'无效! 
请高手帮我看看![em18]

回复列表 (共3个回复)

沙发

你的command对象声明错了
应该改为是SqlCommand cmd=new SqlCommand(conn);
要不然你的关于Command对象所提交的内容没人知道是关于哪个连接对象的Command对象的;

板凳

或者你先打开CONN这个连接,再使用cmd.Connetion=conn;

3 楼

或者问题是,你给自动增长的数据库属性列,在你的这个INSERT into语句中也给那一列赋值了,默认情况是不允许修改你设置为自动增长的那一列的,你需要在数据库管理软件中,把那一列改为允许写入的才行

我来回复

您尚未登录,请登录后再回复。点此登录或注册