我想通过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
看到我的答案如何做到这一点。 –