2017-01-05 10 views
-1

誰でも私にexecutePreparedQueryの使い方を説明できますか? MySqlデータベースに変数を入力したいと思います。準備されたクエリを実行するC#mysql

いくつかのエラーの使用を取得する:

API.exported.database.executePreparedQuery("INSERT INTO users (ID,username,password) VALUES('','testing3',pass)","pass","password123456"); 

public void executePreparedQuery(string sql, Dictionary<string, string> parameters) 
{ 
    using (MySqlConnection conn = new MySqlConnection(connStr)) 
    { 
     try 
     { 
      MySqlCommand cmd = new MySqlCommand(sql, conn); 
      conn.Open(); 
      foreach (KeyValuePair<string, string> entry in parameters) 
      { 
       cmd.Parameters.AddWithValue(entry.Key, entry.Value); 
      } 
      cmd.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      API.consoleOutput("DATABASE: [ERROR] " + ex.ToString()); 
     } 
    } 
} 

ありがとうございました:)

+0

それはseではないメソッドにパラメータとして辞書を渡しています。 – NicoRiff

+0

さて、API.exported.database.executePreparedQueryの例を教えてください。 – Florian

答えて

0

をあなたがexecutePreparedQueryメソッドに正しい辞書を渡す必要があります:

Dictionary<string, string> dic = new Dictionary<string, string>(); 
dic.Add("pass", "password123456"); 

API.exported.database.executePreparedQuery("INSERT INTO users (ID,username,password) VALUES('','testing3',pass)",dic); 
+0

ありがとうございましたが、 MySql.Data.MySqlClient.MySqlException(0x80004005): 'フィールドリスト'の 'pass'が不明です – Florian

+0

"pass"を "?pass"に変更しました。ありがとうございました :) – Florian

関連する問題