我有以下的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你檢查我的答案嗎? –