小菜问题3 需要参数 @isbn1,但未提供该参数

肥胖的柠檬 2007-07-27 01:30:46
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,但未提供该参数。
...全文
497 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzz2008 2008-08-20
  • 打赏
  • 举报
回复
我也遇到这种问题,请大家看看我的代码有问题吗?
Dim adapter As SqlDataAdapter = New SqlDataAdapter()
Dim Command As SqlCommand = New SqlCommand("insert into T_LABELSCAN ( READ_CODE,PART_NO,PART_NUMBER,PART_SN,PART_CODE, READ_LINE,READ_R,READ_DATE,READ_DN, READ_LEADER) values( @scan_sn ,@PAR_NO,@PAR_NUMBER ,@PAR_SN ,@PAR_FCODE,@line_no ,@manu_r ,@input_date ,@line_dn ,@line_leader )", insertcn)

Command.Parameters.Add("@scan_sn", SqlDbType.NVarChar, 20, "READ_CODE")
Command.Parameters.Add("@PAR_NO", SqlDbType.NVarChar, 8, "PART_NO")
Command.Parameters.Add("@PAR_NUMBER", SqlDbType.NVarChar, 5, "PART_NUMBER")
Command.Parameters.Add("@PAR_SN", SqlDbType.NVarChar, 20, "PART_SN")
Command.Parameters.Add("@PAR_FCODE", SqlDbType.NVarChar, 5, "PART_CODE")
Command.Parameters.Add("@line_no", SqlDbType.NVarChar, 1, "READ_LINE")
Command.Parameters.Add("@manu_r", SqlDbType.NVarChar, 8, "READ_R")
Command.Parameters.Add("@input_date", SqlDbType.DateTime, 8, "READ_DATE")
Command.Parameters.Add("@line_dn", SqlDbType.NVarChar, 5, "READ_DN")
Command.Parameters.Add("@line_leader", SqlDbType.NVarChar, 8, "READ_LEADER")
insertcn.Open()
Command.ExecuteNonQuery()
insertcn.Close()
zmj1563 2007-07-27
  • 打赏
  • 举报
回复
""里面是给@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 = "";
这样写的.
jiatong1981 2007-07-27
  • 打赏
  • 举报
回复
cmd1.Parameters.Add("@isbn1", SqlDbType.VarChar);
zmj1563 2007-07-27
  • 打赏
  • 举报
回复
cmd1.Parameters[0].Value = "";这里要给参数赋值

改成这样看看
cmd1.Parameters["@isbn1"].Value = "";
changkimkim 2007-07-27
  • 打赏
  • 举报
回复
cmd1.Parameters.Add("@isbn1", SqlDbType.VarChar, 20, "@isbn1");
这句话有问题吧,最后的参数那个参数是前面@isbn1所对应的值,你没有指定值吧


要不你直接这样写
cmd1.Parameters.Add("@isbn1", SqlDbType.VarChar, 20);
反正值你后面也指定了

----------------
我没这么用过,不过我觉得有可能是这个原因吧

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧