string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
string sql = "select [问题], [详细问题], [回答] from Content where ([问题] like'*" + content + "*') or ([详细问题] like'*" + content + "*') or ([回答] like'*" + content + "*')";
//string sql = "select * from Content";
connectionString += path;
OleDbConnection con = new OleDbConnection(connectionString);
con.Open();
OleDbDataAdapter ada = new OleDbDataAdapter(sql, con);
DataSet ds = new DataSet();
ada.Fill(ds, "Content");
DataTable dt = ds.Tables["Content"];
con.Close();
return dt;
当我用string sql = "select * from Content";的时候,可以获取到DataTable
可是当我用string sql = "select [问题], [详细问题], [回答] from Content where ([问题] like'*" + content + "*') or ([详细问题] like'*" + content + "*') or ([回答] like'*" + content + "*')";的时候,总是获取不到相关数据,但是我用这个查询语句去ACCESS里面去使用时我是能够查询出相关数据的,难道是因为数据量太大了?总共数据有32000多条。ACCESSDataTableSQLSELECT
string sql = "select [问题], [详细问题], [回答] from Content where ([问题] like'*" + content + "*') or ([详细问题] like'*" + content + "*') or ([回答] like'*" + content + "*')";
//string sql = "select * from Content";
connectionString += path;
OleDbConnection con = new OleDbConnection(connectionString);
con.Open();
OleDbDataAdapter ada = new OleDbDataAdapter(sql, con);
DataSet ds = new DataSet();
ada.Fill(ds, "Content");
DataTable dt = ds.Tables["Content"];
con.Close();
return dt;
当我用string sql = "select * from Content";的时候,可以获取到DataTable
可是当我用string sql = "select [问题], [详细问题], [回答] from Content where ([问题] like'*" + content + "*') or ([详细问题] like'*" + content + "*') or ([回答] like'*" + content + "*')";的时候,总是获取不到相关数据,但是我用这个查询语句去ACCESS里面去使用时我是能够查询出相关数据的,难道是因为数据量太大了?总共数据有32000多条。ACCESSDataTableSQLSELECT
#1.like后面的字符跟like之间没有用空格隔开
#2.like后面的字符串用双引号,试试。
例: like "*test*"
如果还解决不了,请转ACCESS区问问。
这是我从程序里面提取出来的,我拿到ACCESS里面测试是可以用的。
这是我从程序里面提取出来的,按照您的方法做的,可是还是不行,查询出来为空,但是进ACCESS里面用这句查询时可以的。
select [问题], [详细问题], [回答] from Content where ([问题] like '*塑料*') or ([详细问题] like '*塑料*') or ([回答] like '*塑料*')
我说的是like后面的点点的问题和加号的问题,也就是说你拼接出来的这个话有问题。你在ACCESS中执行select [问题], [详细问题], [回答] from Content where ([问题] like "*塑料*") or ([详细问题] like "*塑料*") or ([回答] like "*塑料*")能不能执行通过嘛?
我说的是like后面的点点的问题和加号的问题,也就是说你拼接出来的这个话有问题。你在ACCESS中执行select [问题], [详细问题], [回答] from Content where ([问题] like "*塑料*") or ([详细问题] like "*塑料*") or ([回答] like "*塑料*")能不能执行通过嘛?
执行通过的,就是没数据,但是我到ACCESS里面同样的select是可以查出来的。
我说的是like后面的点点的问题和加号的问题,也就是说你拼接出来的这个话有问题。你在ACCESS中执行select [问题], [详细问题], [回答] from Content where ([问题] like "*塑料*") or ([详细问题] like "*塑料*") or ([回答] like "*塑料*")能不能执行通过嘛?
执行通过的,就是没数据,但是我到ACCESS里面同样的select是可以查出来的。
那你到C#问吧,程序哪里设置不对。
我说的是like后面的点点的问题和加号的问题,也就是说你拼接出来的这个话有问题。你在ACCESS中执行select [问题], [详细问题], [回答] from Content where ([问题] like "*塑料*") or ([详细问题] like "*塑料*") or ([回答] like "*塑料*")能不能执行通过嘛?
找到原因了- -!程序里面应该用 '%test%' 晕死!
谢谢你
我说的是like后面的点点的问题和加号的问题,也就是说你拼接出来的这个话有问题。你在ACCESS中执行select [问题], [详细问题], [回答] from Content where ([问题] like "*塑料*") or ([详细问题] like "*塑料*") or ([回答] like "*塑料*")能不能执行通过嘛?
找到原因了- -!程序里面应该用 '%test%' 晕死!
谢谢你。我就说SQL SERVER里面like后面明显的%怎么ACCESS就变成*****了