数据库中查询语句能查到记录,但是在程序里用Adapter.Fill却没数据?急求解决,谢谢!!
写了个方法来获取DataSet
- C# code
/// <summary> /// 获取指定表中的数据,返回一个DataSet,重载1 /// </summary> /// <param name="SqlOrder">一个完整的SQL语句</param> /// <returns>返回一个已填充了TableName中所有表数据的DataSet对象</returns> public DataSet GetData(string SqlOrder) { DataSet myDataSet = new DataSet(); try { this.myCon.Open(); OleDbDataAdapter myAdapter = new OleDbDataAdapter(SqlOrder, this.myCon); myAdapter.Fill(myDataSet); int i=myDataSet.Tables[0].Rows.Count; } catch { throw (new Exception("读取数据失败!!!")); } finally { this.myCon.Close(); } return myDataSet; }
用的Microsoft Office Access 2003的数据库
在where Name like '*c*' 的时候查不到记录(int i=myDataSet.Tables[0].Rows.Count; //i=0)
但是我把Select语句完整的复制到Access 中查询的时候能查到记录
不知道怎么一回事?
如果用where Name = 'abcd'却又能在程序中查到,在Access 中也能查到
知道是什么地方错了吗?
很急,先谢了!
[解决办法]
使用where name like '%c%'卡看。在Access里使用ODBC方式,其通配符号为*,Ole DB 的为%
[解决办法]
用%
字段 like '%"+txb1.Text.Trim()+"%'这样
[解决办法]