0

sqlステートメントにパラメーターを使用しようとするとこのエラーが発生しましたが、使用しない場合は正常に機能します。私のコードは以下の通りです:

Dim i As String
Dim sql as String

 sql = "SELECT * FROM tblStaff WHERE Username = @User AND Password = @Pass"
 myCommand = New SqlCommand(sql, myConnection)
 myCommand.Parameters.AddWithValue("@User", txtUser.Text)
 myCommand.Parameters.AddWithValue("@Pass", txtPassword.Text)

 i = myCommand.ExecuteScalar
 txtUserType.Text = i.ToString

そして、私がコメントするときtxtUserType.Text = i.ToString、それはうまくいきます。何か案が?

4

1 に答える 1

0

ExecuteScalarは、整数のように1つの値のみを返す必要があります。したがって、たとえばSQLステートメントで1つの列のみを指定した場合(tblStaffからユーザータイプを選択...)、executescalarは整数を返す必要があります(その列が数値の場合)。

その後、それは動作するはずです。

ちなみに、文字列である変数に対してToStringを使用する必要はありません。変数名txtUserType.Text=iを使用するだけです

于 2011-07-04T08:58:09.433 に答える