vb.net登陆按钮调用存储过程,有两个comm对象时出错
想做一个vb.net登录的窗口,首先在窗体load事件中,读取数据库中webuser表中的usename列数据,并加入到下拉列表框::Conn.Open()comm=Ne...
想做一个vb.net登录的窗口,首先在窗体load事件中,读取数据库中webuser表中的usename列数据,并加入到下拉列表框::
Conn.Open()
comm = New SqlCommand("select Username from WebUsers", Conn)
dr = comm.ExecuteReader()
If UCase(Conn.State.ToString()) = "OPEN" Then
'"数据库连接成功!
Do While dr.Read()
Chkusername.Items.Add(dr.Item("username")) '把数据加入到下拉列表框
Loop
End If
然后在按钮的click事件中,调用存储过程,判断登录名和密码:
Try
comm = New SqlCommand("sp_Checkpass", Conn)
comm.CommandType = CommandType.StoredProcedure
comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 12).Value = Chkusername.Text
comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 20).Value = ChkPassWord.Text
comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 12).Direction = ParameterDirection.Output
comm.ExecuteNonQuery()
If comm.Parameters("@ISValid").Value = "Good" Then
MessageBox.Show("验证成功!")
Else
MessageBox.Show("验证失败!")
End If
Catch ex As Exception
End Try
现在的问题是:假如把第一段去掉,第二段就可以执行了,估计是comm对象不能多处使用,请问怎么解决?请高手指点小弟。 展开
Conn.Open()
comm = New SqlCommand("select Username from WebUsers", Conn)
dr = comm.ExecuteReader()
If UCase(Conn.State.ToString()) = "OPEN" Then
'"数据库连接成功!
Do While dr.Read()
Chkusername.Items.Add(dr.Item("username")) '把数据加入到下拉列表框
Loop
End If
然后在按钮的click事件中,调用存储过程,判断登录名和密码:
Try
comm = New SqlCommand("sp_Checkpass", Conn)
comm.CommandType = CommandType.StoredProcedure
comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 12).Value = Chkusername.Text
comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 20).Value = ChkPassWord.Text
comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 12).Direction = ParameterDirection.Output
comm.ExecuteNonQuery()
If comm.Parameters("@ISValid").Value = "Good" Then
MessageBox.Show("验证成功!")
Else
MessageBox.Show("验证失败!")
End If
Catch ex As Exception
End Try
现在的问题是:假如把第一段去掉,第二段就可以执行了,估计是comm对象不能多处使用,请问怎么解决?请高手指点小弟。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询