我的数据修改总是无法实现有高手来指点下吗?(10分)

  • 主题发起人 主题发起人 starforce
  • 开始时间 开始时间
S

starforce

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
OleDbConnection conn = new OleDbConnection(connString);
string sqlstr2="UPDATE books "
+
"SET "
+
"
书名=sm, "
+
"
作者=zz, "
+
"
价格=jg, "
+
"
书架号=sjh "
+
"
WHERE 图书编号=tsbh";
OleDbCommand myCommand=conn.CreateCommand();
myCommand.CommandText=sqlstr2;
myCommand.Parameters.Clear();
myCommand.Parameters.Add("tsbh",OleDbType.Numeric,10);
myCommand.Parameters.Add("sm",OleDbType.Char,50);
myCommand.Parameters.Add("zz",OleDbType.Char,50);
myCommand.Parameters.Add("jg",OleDbType.Numeric,10);
myCommand.Parameters.Add("sjh",OleDbType.Numeric,10);
myCommand.Parameters["tsbh"].Value=Int32.Parse(TextBox1.Text);
myCommand.Parameters["sm"].Value=TextBox2.Text;
myCommand.Parameters["zz"].Value=TextBox3.Text;
myCommand.Parameters["jg"].Value=Int32.Parse(TextBox4.Text);
myCommand.Parameters["sjh"].Value=Int32.Parse(TextBox5.Text);
conn.Open();
myCommand.ExecuteNonQuery();
conn.Close();
 
这一句错了,应心为:
string sqlstr2="UPDATE books "
+
"SET "
+
"
书名=@sm, "
+
"
作者=@zz, "
+
"
价格=@jg, "
+
"
书架号=@sjh "
+
"
WHERE 图书编号=@tsbh";
 
改了以后还是出错啊!
OleDbConnection conn = new OleDbConnection(connString);
string sqlstr2="UPDATE books "
+
"SET "
+
"
书名 = @sm, "
+
"
作者 = @zz, "
+
"
价格 = @jg, "
+
"
书架号 = @sjh "
+
"WHERE 图书编号= @tsbh";
OleDbCommand myCommand=conn.CreateCommand();
myCommand.CommandText=sqlstr2;
myCommand.Parameters.Clear();
myCommand.Parameters.Add("@tsbh",OleDbType.Numeric,10);
myCommand.Parameters.Add("@sm",OleDbType.Char,50);
myCommand.Parameters.Add("@zz",OleDbType.Char,50);
myCommand.Parameters.Add("@jg",OleDbType.Numeric,10);
myCommand.Parameters.Add("@sjh",OleDbType.Numeric,10);
myCommand.Parameters["@tsbh"].Value=Int32.Parse(TextBox1.Text);
myCommand.Parameters["@sm"].Value=TextBox2.Text;
myCommand.Parameters["@zz"].Value=TextBox3.Text;
myCommand.Parameters["@jg"].Value=Int32.Parse(TextBox4.Text);
myCommand.Parameters["@sjh"].Value=Int32.Parse(TextBox5.Text);
conn.Open();
myCommand.ExecuteNonQuery();
conn.Close();
 
加一句即可。
myCommand.CommandType =adCmdText
 
adCmdText没这个类名啊怎么加?
 
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
string sqlstr2="UPDATE books "
+
"SET "
+
"
书名 = @sm, "
+
"
作者 = @zz, "
+
"
价格 = @jg, "
+
"
书架号 = @sjh "
+
"WHERE 图书编号= @tsbh";
OleDbCommand myCommand=new OleDbCommand(sqlstr2,conn);
myCommand.Parameters.Clear();
OleDbParameter para=new OleDbParameter("@tsbh",OleDbType.Numeric,10);
para.Value=Int32.Parse(TextBox1.Text);
myCommand.Parameters.Add(para);
para=new OleDbParameter("@sm",OleDbType.Char,50);
para.Value=TextBox2.Text;
myCommand.Parameters.Add(para);
para=new OleDbParameter("@zz",OleDbType.Char,50);
para.Value=TextBox3.Text;
myCommand.Parameters.Add(para);
para=new OleDbParameter("@jg",OleDbType.Numeric,10);
para.Value=Int32.Parse(TextBox4.Text);
myCommand.Parameters.Add(para);
para=new OleDbParameter("@sjh",OleDbType.Numeric,10);
para.Value=Int32.Parse(TextBox5.Text);
myCommand.Parameters.Add(para);
myCommand.ExecuteNonQuery();
conn.Close();
 
还是出错
 
建议starforce先去翻翻书,再去查一下错,这肯定是粗心的错,用不着找别人.
 
一项一项的改
 
OleDbConnection conn = new OleDbConnection(connString);
string sqlstr2="UPDATE books "
+
"SET "
+
"
书名=:sm, "
+
"
作者=:zz, "
+
"
价格=:jg, "
+
"
书架号=:sjh "
+
"
WHERE 图书编号=:tsbh";
 
多人接受答案了。
 
后退
顶部