我想通過C#中插入一些值到MySQL數據庫C#如何通過SQL變量
INSERT INTO cliente (column1, column2) VALUES (value1, value2);
set @ultima_pk = LAST_INSERT_ID();
INSERT INTO cliente_ref (refCol1, refCol2) VALUES (refvalue1, (SELECT @ultima_pk));
INSERT INTO cliente_ref (refCol1, refCol2) VALUES (refvalue1, (SELECT @ultima_pk));
當我測試它在MySQL只,很好地工作,但是當我嘗試通過C#,將其插入我不能。
錯誤消息:
Parameter '@ultima_pk' must be defined.
但是@ultima_pk不是PARAM,是一個MySQL變量。
婁插入功能
public bool insert(string query)
{
this.conectar();
cmd = new MySqlCommand(query, this.conexion);
cmd.ExecuteReader();
//bool retornar = cmd.ExecuteNonQuery() >= 1 ? true : false;
bool retornar = true;
this.desconectar();
return retornar;
}
的連接工作perfecfly。
任何建議如何在C#中查詢內部傳遞@ultima_pk?
的'插入()'方法,這裏將迫使你編寫的代碼很容易受到sql注入攻擊的影響,因爲它缺少一種接受與查詢字符串分開的參數數據的機制。 –
你推薦我的其他建議是什麼? – omixam
看到我的答案如何做到這一點。 –