恼人的 access jet 语法
昨晚在做Access数据库开发时遇到一个简单的模糊查询问题,在access2007里面可以查出来,但用C#2.0查询就是查不出来。
后来试出来了,原来 是jet语法的问题:
在Access中,模糊查询用 * 号,如 select * from T_PO where po_NO like '*8*'
但在C#程序里面写的时候要用 % 号,即 select * from T_PO where po_NO like '%8%'
希望有遇到类似问题的朋友们多注意 jet 的语法区别。
相关文档:
a = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\数据库.mdb;Password=管理员密码;User ID=管理员帐号;Jet OLEDB:Database Password=数据库密码;Jet OLEDB:System database=d:\system.MDW;” ' 此处用户帐户必须具有管理员权限才行,此处是指连接需要压缩的数据库的连接代码.
b = &ldq ......
本文根据VCKBASE网站的上的《直接通过ADO操作Access数据库
》
修改而来,版权归原作者/徐景周
直接通过ADO操作Access数据库
作者/徐景周
下载源代
码
我在《VC知识库在线杂志》第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读、写Exce ......
后台数据库:
[Microsoft Access]
与
[Microsoft Sql Server]
更换之后,ASP代码应注意要修改的一些地方:
[一]连接问题(举例)
[Microsoft Access]
constr = "DBQ=c:\data\clwz.mdb; DRIVER={Microsoft Access Driver (*.mdb)}"
[Microsoft Sql Server]
constr = "DRIVER={SQL Server};SERVER=host;DATA ......
更新方法一,直接在GridView中来更新数据.
更新方法二,打开一个新的页面来更新数据.
//更新
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
&nbs ......
if (currentPage ==1) {
//如果当前页为第1页
sql ="select top "+pageSize+" * from Table";
} else {
int start =(currentPage -1)*pageSize;
sql ="select top "+pageSize+" * from Table where ID not in (select top "+start+" ID from Table)";
} ......