0

ログイン スクリプトを作成していますが、スクリプトがConvert.ToInt32()機能しません。

エラー: エラー

「System.Convert.ToInt32(object)」は「メソッド」ですが、「型」のように使用されます

スニペット:

    con.Open();
    string mysql; // generate an sql insert query for the database
    mysql = "SELECT * FROM [Users] UserName='" + tbUser.Text + "'";
    OleDbCommand CheckUser = new OleDbCommand(mysql, con);
    int temp = new Convert.ToInt32(CheckUser.ExecuteScalar().ToString());

どんな助けにも感謝します。

4

4 に答える 4

6

newキーワードを失う:

int temp = Convert.ToInt32(CheckUser.ExecuteScalar().ToString());

静的メソッドのインスタンスを作成しようとしているため、警告が表示されています。通常、非静的型のインスタンスを作成します。

于 2013-05-10T13:25:16.350 に答える
0

Select 1 asを使用してパフォーマンスを向上させることができます。

con.Open();
string mysql; // generate an sql insert query for the database
mysql = "SELECT 1 FROM [Users] UserName='" + tbUser.Text + "'";
OleDbCommand CheckUser = new OleDbCommand(mysql, con);
int temp = Convert.ToInt32(CheckUser.ExecuteScalar());

SqlCommand.ExecuteScalar()は を返すobjectため、値が一致する場合は 1 になり、それ以外の場合は 0 になります。

于 2013-05-10T13:47:23.490 に答える
0

これを試して:

Int32 count = (Int32) CheckUser.ExecuteScalar();
于 2013-05-10T13:33:28.817 に答える
0

int temp = new Convert.ToInt32(CheckUser.ExecuteScalar().ToString()); に変更int temp = Convert.ToInt32(CheckUser.ExecuteScalar().ToString());

于 2013-05-10T13:25:38.490 に答える