ASP.NET登录,Convert.ToInt32();

时间:2013-05-10 13:23:40

标签: c# asp.net

我正在制作登录脚本,无法让Convert.ToInt32()为我工作。

错误:错误

  

' System.Convert.ToInt32(对象)'是一种方法'但用得像   '类型'

片段:

    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 个答案:

答案 0 :(得分:6)

丢失new关键字:

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

您正在看警告,因为您正在尝试创建静态方法的实例。通常,您会创建非静态类型的实例。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

试试这个:

Int32 count = (Int32) CheckUser.ExecuteScalar();

答案 3 :(得分: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。