如何使用C#从mysql中获取两个id之间的数据

时间:2015-07-07 06:05:45

标签: c# mysql

我想在两个id之间获取行(例如在100到200之间)。我试图使用datatable获取内容。这里film_person是我的表,person_id是我的主键,我试图获取100到200之间的值,但代码抛出异常。

public static DataTable GetAllfilmperson()
{
    try
    {
        string connString = "Server=localhost;database=contentupload;uid=abcd;password=Abcd";
        string query = "SELECT * FROM `contentupload`.`film_person WHERE Person_id BETWEEN '100' AND '200' `";
        MySqlDataAdapter ma = new MySqlDataAdapter(query, connString);
        DataSet DS = new DataSet();
        ma.Fill(DS);

        return DS.Tables[0];
    }
}

3 个答案:

答案 0 :(得分:2)

强烈怀疑您的Person_id是数字,这就是为什么您不需要使用单引号来表示数值。

WHERE Person_id BETWEEN '100' AND '200'

应该是

WHERE Person_id BETWEEN 100 AND 200

您的查询中有不必要的Grave Accent(`)字符。由于您的查询中没有任何关键字,因此您无需使用它。

string query = "SELECT * FROM contentupload.film_person WHERE Person_id BETWEEN 100 AND 200";

还可以使用using statement自动处理数据适配器。

答案 1 :(得分:1)

您的陈述中的字符是拼写错误或至少不匹配。删除它们:

SELECT * FROM contentupload.film_person WHERE Person_id BETWEEN 100 AND 200

答案 2 :(得分:0)

  string query = "SELECT * FROM `contentupload`.`film_person WHERE Person_id BETWEEN '100' AND '200' `";

看看:

`contentupload`.`film_person

你去,错误!!:

它应该是:

contentupload.film_person

最终查询:

  string query = "SELECT * FROM contentupload.film_person WHERE Person_id BETWEEN '100' AND '200' ";