我想在两个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];
}
}
答案 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' ";