簡體   English   中英

C#mysql具有參數輸入字符串的Execute Reader的格式不正確

[英]C# mysql Execute Reader with parameters Input string was not in a correct format

我正在嘗試創建一個登錄aspx頁面。

我在這里做錯了什么?

MySqlConnection cn = new MySqlConnection("Server=localhost;Database=securitytest; User=root;Password=sx;");

    cn.Open();
    MySqlCommand cmd = new MySqlCommand("Select * from login where username=@username and password=@password", cn);

    //Add parameters to get the username and password  

    cmd.Parameters.Add("@username", OdbcType.VarChar);
    cmd.Parameters["@username"].Value = this.Login1.UserName;

    cmd.Parameters.Add("@password", OdbcType.VarChar);
    cmd.Parameters["@password"].Value = this.Login1.Password;

    MySqlDataReader dr = default(MySqlDataReader);
    // Initialise a reader to read the rows from the login table.  
    // If row exists, the login is successful  

    dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
        e.Authenticated = true;
        // Event Authenticate is true  
    }

MySql數據庫提供者使用 在SQL中定位參數。 那么,使用 而不是@來標記SQL查詢中的參數:

MySqlCommand cmd = new MySqlCommand("Select * from login where username=?username and password=?password", cn);

cmd.Parameters.Add("?username", OdbcType.VarChar);
cmd.Parameters["?username"].Value = this.Login1.UserName;

...

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM