将参数传递给SqlDataAdapter声明标量变量

时间:2018-09-21 18:23:37

标签: c# .net-4.0

下面的方法应该返回ds,它将绑定到datagridview,但是我收到一条错误消息,提示

代码更新是我的源代码

  

必须声明标量变量“ @ID”

2 个答案:

答案 0 :(得分:4)

您将参数添加到SqlCommand,但随后又没有将此SqlCommand与SqlDataAdapter关联。因此,当您执行SqlDataAdapter.Fill方法时,您的适配器不知道该参数

您只需要使用DataAdapter的SelectCommand属性或将您的命令传递给SqlDataAdapter构造函数

// You can build a parameter directly with the Add method 
// using the proper overload
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(TB_PatientID.Text); 
SqlDataAdapter da = new SqlDataAdapter(cmd);

答案 1 :(得分:1)

按照史蒂夫的建议,将cmd传递给SqlDataAdapter的构造函数

或将cmd分配给SelectCommand的{​​{1}}:

SqlDataAdapter