在MySQL数据库中查找具有特定id的行c#

时间:2015-04-11 16:34:17

标签: c# mysql database

我想搜索特定的ID。 例如:我想搜索特定ID

任何人都可以帮助我。

如果我在c#中执行此代码:

        MySqlConnection connection = new MySqlConnection(MyConnectionString);
        connection.Open();

        try
        {
            MySqlCommand cmd = connection.CreateCommand();
            cmd.CommandText = "SELECT ID, First_Name,Last_Name,M_I,Phone,Mobile,Fax,Email,BirthDay,Gender,RegDate,Job, Nationality,Adreess,Area,Area_Code,City,Country,Notes  FROM customers_table WHERE ID like '%" + search.Text + "%'";
            MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
        }
        catch (Exception)
        {
            //throw;
            MessageBox.Show("Please complete correct the fields");
        }

        finally
        {
            if (connection.State == ConnectionState.Open)
            {
                connection.Clone();
            }
        }

然后:结果是显示包含来自search.Text

的上下文的所有上下文ID

2 个答案:

答案 0 :(得分:0)

如果您要搜索特定ID,则只需删除“赞”,将其替换为=等号并删除%个&符号。你的命令应该如下所示:

cmd.CommandText = "SELECT ID, First_Name,Last_Name,M_I,Phone,Mobile,Fax,Email,BirthDay,Gender,RegDate,Job, Nationality,Adreess,Area,Area_Code,City,Country,Notes  FROM customers_table WHERE ID = " + search.Text;

<强>更新

我忘了提及对于Int你不需要单引号,所以上面的命令应该适合你

答案 1 :(得分:0)

您绝对应该在查询中使用参数。在查询中传递值的方式是从安全性角度和错误处理中创建许多潜在问题。

以下是如何执行此操作的一个很好的示例http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-parameters.html