簡體   English   中英

C# - 如何使用 MySqlAdapter 參數化 SQL 查詢

[英]C# - How to parametrize SQL query with MySqlAdapter

我正在嘗試使用 MySqlAdapter 運行 SQL 查詢,以便它返回 DataTable 中的數據。

我在參數化方面遇到了麻煩。 基本上它不返回任何東西,它應該返回 2 行。

我有這個代碼:

        using (MySqlConnection connection = new MySqlConnection(CONSTANTS.dbCONNECTSTRING))
        {
            string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= '@userName'";
            MySqlCommand command = new MySqlCommand(sqlQuery, connection);
            command.Parameters.Add(new MySqlParameter("@userName", userCtrl.UserName));

            MySqlDataAdapter dataAdapter = new MySqlDataAdapter(command);

            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet);

            DataTable dtResults = dataSet.Tables[0];           
        }

我檢查並且 userCtrl.UserName 具有正確的值,所以我假設參數化有問題。

正如我之前所說的,問題是 dtResults 在它應該有至少 2 行時最終是空的。 我檢查了在 SQL 中運行查詢。

SQL 響應

我究竟做錯了什么?

謝謝!

只需刪除參數周圍的單引號即可。 您的驅動器已經為您處理了。

這個:

string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= '@userName'";

應該:

string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= @userName";

暫無
暫無

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

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