command多次运行出错,求助.
我在练习VB2005,下面是我的一个按键语句.
Private Sub seach_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles seach.Click
'获取 TEXTBOX 的值
Dim user_a As String = "% " & Trim(user_tx.Text) & "% "
Dim tel_b As String = "% " & Trim(tel_tx.Text) & "% "
Dim machine_c As String = "% " & Trim(machine_tx.Text) & "% "
Dim sn_d As String = "% " & Trim(sn_tx.Text) & "% "
Dim com_e As String = "% " & Trim(com_cb.Text) & "% "
'使用存储过程显示 Datagridview
Cmd.CommandType = CommandType.StoredProcedure
Cmd.CommandText = "user_list "
Cmd.Connection = Cnn()
Cmd.Parameters.Add(New SqlClient.SqlParameter( "@a ", SqlDbType.NVarChar, 20)).Value = user_a
Cmd.Parameters.Add(New SqlClient.SqlParameter( "@b ", SqlDbType.NVarChar, 20)).Value = tel_b
Cmd.Parameters.Add(New SqlClient.SqlParameter( "@c ", SqlDbType.NVarChar, 20)).Value = machine_c
Cmd.Parameters.Add(New SqlClient.SqlParameter( "@d ", SqlDbType.NVarChar, 20)).Value = sn_d
Cmd.Parameters.Add(New SqlClient.SqlParameter( "@e ", SqlDbType.NVarChar, 20)).Value = com_e
Dt = New SqlClient.SqlDataAdapter(Cmd)
Tb = New DataTable
Dt.Fill(Tb)
Datagridview.DataSource = Tb
End Sub
这个按键第一次是运行没有问题,单再次按下时在Dt.Fill(Tb)处出错.提示为 "为过程或函数user_sit指定的参数过多 ".希望大家指点指点,谢谢!
[解决办法]
Cmd.Parameters.Clear()
怀疑Cmd之前用过了。但是参数没有清空。