日期:2014-05-18  浏览次数:20563 次

数据库中查询语句能查到记录,但是在程序里用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()+"%'这样
------解决方案--------------------
探讨
使用where name like '%c%'卡看。在Access里使用ODBC方式,其通配符号为*,Ole DB 的为%