asp.net 查询access数据库模糊查询

首先代码如下:

 OleDbConnection con = database.createDB(); //调用用户自定义的DB类的createDB()的方法
con.Open(); //打开数据库连接
OleDbCommand cmd = new OleDbCommand();//声明一个OleDbCommand的 cmd对象,并将其实例化
OleDbDataAdapter sda = new OleDbDataAdapter("select * from p_person where pxm like '*建筑*';", con);
DataSet ds = new DataSet(); //声明一个DataSet的ds对象,并将其实例化
sda.Fill(ds, "tb_zhuhu");
this.GridView1.DataSource = null;
this.GridView1.DataBind();
this.GridView1.DataSource = ds;
this.GridView1.DataBind();//将数据绑定到GridView控件中
con.Close();

图片说明
查询的结果一直为空,测试之后上面框选部分sql语句的问题,不知道为什么会这样,模糊查询就会出现问题,查询结果为空,求各位大神解答。

中文字符串编码可能有问题,导致查询时被解码成其它文字了。

直接在access里查询试试,如果查询不出,就是数据的问题了

在C#中应该是%%。

http://www.cnblogs.com/wangzb/archive/2009/11/24/1609653.html

模糊查询应该用%,不是*

OleDbDataAdapter sda = new OleDbDataAdapter("select * from p_person where pxm like '%建筑%‘", con);
模糊查询为 like %字段% ,以及将“里面的;去掉

access是ado,通配符用%,oledb的通配符是*

pxm like '%建筑%'