我有以下的SQL查询,我想通过两个变量得到结果。但是,我得到一个语法错误,更具体:为什么我的SQL语法错了?
near '+'pablo'+ '%' AND apellido LIKE '%' +'rodriguez'+ '%'' at line 1 at
MySql.Data.MySqlClient.MySqlStream.ReadPacket() at
MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32&
insertedId) at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId,
Int32&affectedRows, Int32& insertedId) at
MySql.Data.MySqlClient.Driver.NextResult(Int32
statementId, Boolean force) at
MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at
MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() at
ProyectoProgra4Nota3.modelos.Usuario.buscarQuery(String search, String search2)
这是我的查询:
MySqlCommand comando = new MySqlCommand();
comando.Connection = con.usaConexion();
comando.CommandText = "SELECT * FROM usuarios WHERE nombre LIKE '%' [email protected]+ '%' AND apellido LIKE '%' [email protected]+ '%' ";
comando.Parameters.AddWithValue("@search", search);
comando.Parameters.AddWithValue("@search2", search2);
MySqlDataReader reader = comando.ExecuteReader();
while (reader.Read())
{
Usuario u2 = new Usuario();
u2.Correo = reader["correo"].ToString();
u2.Nombre = reader["nombre"].ToString();
u2.Apellido = reader["apellido"].ToString();
u2.Clave = reader["clave"].ToString();
lista.Add(u2);
}
如果你在你的代码中添加SQL通配符代替'.AddWithValue( “@搜索”, “%” +搜索+ “%”)'和'像@ search'? – juharr
@midori你检查我的答案吗? –