LIKE命令Mysql

时间:2013-05-04 13:31:22

标签: c# mysql

有人可以告诉我这个命令有什么问题吗?我收到一个错误。我使用c#和mysql数据库。

 public static DataSet getInstructorListSearchEmail(string instemail)
        {
            DB.connectToDb();
            DB.DBOpen();

        DataSet ds = new DataSet();
        try
        {
            string comText = "select * from instructor where Instructor_email like %instemail";
            MySqlCommand com = new MySqlCommand(comText, DB.Conn);
            com.Parameters.Add("instemail", MySqlDbType.VarChar, 200).Value = instemail;
            MySqlDataAdapter adapter = new MySqlDataAdapter(com);
            adapter.Fill(ds);

3 个答案:

答案 0 :(得分:5)

现在看到你使用了一个cmd参数,你需要修改你的查询字符串以接受参数,方法是将它改为

string comText = "select * from instructor where Instructor_email like @instemail";
com.Parameters.AddWithValue("@instemail", "%" + instemail);

或者这也可以使用单引号并删除参数,但我认为使用参数更好。

string comText = "select * from instructor where Instructor_email like '%" + instemail + "'";

答案 1 :(得分:3)

您需要将通配符直接添加到参数值中,而不是在参数占位符之前的sql命令文本中添加(顺便尝试使用参数前缀)

  string comText = "select * from instructor where Instructor_email like @instemail";

所以你的命令参数应该是

  com.Parameters.Add("@instemail", MySqlDbType.VarChar, 200).Value = "%" + instemail;

答案 2 :(得分:0)

你只需要使用单引号,如;

string comText = "select * from instructor where Instructor_email like @instemail";