我主要想求助以下两个问题:
1. 关于记录集的Filter属性,是不是不能设置为:"字段名 is not null",
或者:"left(字段名,2) = '数值'"
2. 可否在记录集中使用sql语句?比如:select * from 记录集 where 查询条件。
我使用这个语句时数据库路径不知道怎么的就变我vb6.0的安装路径了,然后提示找不
到数据库,请各位高手指教,应该如何用sql语句查询一个记录集。
问题是这样的:我的数据库在服务器上,每个客户端都需要从数据库中加载数据。为避免频繁的访问数据库,我想让客户端一启动就将数据库中的数据加载到本地内存,使用以下代码:
adodc1.ConnectionString = 数据库路径
adodc1.RecordSource = "select * from 数据表"
adodc1.Refresh
然后我需要的数据再从adodc1.recordset中检索。一开始是想用Filter属性的,但是遇到了问题1,所以就想用sql语句,像查询一个数据表一样查询adodc1.recordset,结果遇到了问题2.
请各位高手帮忙看看,谢谢!待问题解决后必定会追加分数,十分感谢!
补充一下,我想将在记录集中查询的结果赋给另一个记录集
呵呵,我不想使用adodc控件啊,再说,使用这个控件也不能解决我的问题~
追答不用控件就直接定义记录集变量,通过执行sql语句就可以了,有记录集了想怎么玩就怎么玩,其实和你把adodc控件隐藏起来,自己加按钮什么的,然后在事件里面用adodc的方法属性差不多,呵呵,主要的代码就几句
Dim conn As New adodb.Connection
Dim rs As New adodb.Recordset
Dim connStr As String, sql As String
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库;Persist Security Info=False" 'Access
conn.Open connStr
sql="select * from 表"
rs.Open sql, conn, adOpenDynamic, adLockBatchOptimistic '后两个参数根据需求搭配
还有好多属性,可以看一下Microsoft ActiveX Data Objects (ADO)帮组文件
sql查询我会,但主要问题不是这个,上面我已经说的很清楚了。要从记录集中查询,而不是从表中查询
追答开始回答的就是,用Filter属性,如果不能达到你的要求,想用sql语句查询,就写临时表吧
追问请问下临时表是如何工作的?是在本地计算机的内存中建立的呢还是在服务器上建立的?
追答如果方便的话,直接在数据库建立好,用的时候直接用,如果数据比较大的话在本地直接建一个好了
sql嵌套是在数据库中查询呢还是在内存中查询?
追答在数据库中查询
追问那还是不能解决我的问题,我就是想在内存中查询才问这两个问题的
追答如果第一次使用SQL,可以把结果放到LISTVIEW,然后LISTVIEW可以提供查找功能
追问listview可是使用sql的所有的查询条件吗?比如说:>,<,between,is null ,is not null ?
追答我没那么说
只要问题能解决,分是不成问题的。qq:553589984,验证信息填写:vb 即可,谢谢!
追答加了,速回复!
请把答案贴上来吧,时间不多了,我将在4个小时内结贴。