小菜问题3 需要参数 @isbn1,但未提供该参数
SqlConnection con = new SqlConnection(link.connectionString);
SqlCommand cmd1= new SqlCommand();
cmd1.Connection = con;
//// Create the DeleteCommand.
cmd1.CommandText = " delete BookInfo where isbn=@isbn1 ";
cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20, "@isbn1 ");
cmd1.Parameters[0].Value = " ";
da.DeleteCommand = cmd1;
if (cm.Count > 0)
{
string isBN = dataGridView1[0, cm.Position].Value.ToString().Trim();
cm.RemoveAt(cm.Position);
da.DeleteCommand.Parameters[ "@isbn1 "].Value = isBN;
da.Update(ds.Tables[ "Table1 "]);
}
--------------------------------------
参数化查询 '(@isbn1 varchar(20)) delete BookInfo where isbn=@isbn1 ' 需要参数 @isbn1,但未提供该参数。
------解决方案--------------------cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20, "@isbn1 ");
这句话有问题吧,最后的参数那个参数是前面@isbn1所对应的值,你没有指定值吧
要不你直接这样写
cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20);
反正值你后面也指定了
----------------
我没这么用过,不过我觉得有可能是这个原因吧
------解决方案--------------------cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar);
------解决方案-------------------- " "里面是给@isbn1赋的值
好象这里也错了
cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20, "@isbn1 ");
用
cmd1.Parameters.Add( "@isbn1 ", SqlDbType.VarChar, 20)
就行了
你用的是2005的化 我看有的书上
直接用
cmd1.Parameters.Add( "isbn1 ", SqlDbType.VarChar, 20);
cmd1.Parameters[ "isbn1 "].Value = " ";