ケースどこでクエリに挿入します。句
:私は(下記参照)がエラーを取得しています、INSERT INTOをcontaints MySql.Data.MySqlClient、とC#でクエリを実行しようとしていますデータベーステーブル:
達成しようとして何イム:私は新しいレコードに挿入したい: "VALUE_ID(自動インクリメント)"、 "machine_id" "TAG_NAME"、 "int_value"、 " 「real_value」および「bool_value」。
私は次のコードを持っている:レコードに挿入するために、マシンIDを取得
*
private void getMachineID()
{
string connStr = "";
string ipAdressID = "'" + machineIP + "'";
string basicQueryID = "SELECT machine_id FROM machine WHERE machine.machine_ip LIKE ";
string totalQueryID = basicQueryID + ipAdressID;
//Create connection
MySqlConnection conn = new MySqlConnection(connStr);
//Query command
MySqlCommand cmd = conn.CreateCommand();
//Assign string to query
cmd.CommandText = totalQueryID;
//Open connection
conn.Open();
//Get result ID from machine where IP adress = machineIP and write to machineID variable.
machineID = (int)(cmd.ExecuteScalar());
}
コード:
try
{
string connStr = "";
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO waardes(machine_id, tag_name, int_value, real_value, bool_value) VALUES(@machineID, @tagName, @intValue, @doubleValue, @boolValue)";
cmd.Parameters.AddWithValue("@tagName", tagName);
cmd.Parameters.AddWithValue("@intValue", intValue);
cmd.Parameters.AddWithValue("@doubleValue", doubleValue);
cmd.Parameters.AddWithValue("@boolValue", boolValue);
cmd.Parameters.AddWithValue("@machineID", machineID);
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
は君たちが役立つことを願って!
だから問題は何ですか?そしてなぜ 'insert'のために' Where'が必要なのでしょうか?あなたは更新を意味しますか? –
[MySQL Insert Where query]の複製の可能性(https://stackoverflow.com/questions/485039/mysql-insert-where-query) – Equalsk
これはINSERT INTO .... FROM ... WHERE x = zですか? '? – rmjoia