我已经实现了ACCESS的连接了。
但,更想实现用SQL语言来控制。用的是DATAGRID控件,想用SQL在DATAGRID里显示想显示的一切内容,
而不是死的数据表链接
也就是说如何使用SQL语言,也有人问过个问题,但我想知道,是不是还需要什么声明,或函数
之类。
但,更想实现用SQL语言来控制。用的是DATAGRID控件,想用SQL在DATAGRID里显示想显示的一切内容,
而不是死的数据表链接
也就是说如何使用SQL语言,也有人问过个问题,但我想知道,是不是还需要什么声明,或函数
之类。
ado.recordset数据集对象,用来保存sql语句返回的数据
ado.connection 数据链接对象。用它与数据库相连。
如何使用的例子挺多。你搜一下吧!
1.在部件里调出ADO控件,右键点击属性然后连接你的数据库,在记录源里面的命令类型选“1”然后在框 里面填入你要查询的表:例如你是一张“A”表,select * from A ,点确定
2.把你的DATAGRID的DATASOURCE属性设置成为:ADODC1就可以显示出你这张表里面的内容了。如果不用控件来进行邦定的话,你就要创建对象和记录集。
也NEW了一下,可是无法直接用SQL。
我知道肯定还用一个表达式才行,但不知道,谢谢你的回答?
因为需要,现在要用SQL语言。
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;User Id=admin;Password=;"rs.Open "select * from 表 where 条件"Set DataGrid1.DataSource=rs '显示数据
Dim rs As New ADODB.Recordset
Dim cnn As ADODB.Connection strCnn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DATANAME;Data Source=USERNAME" Set cnn = New ADODB.Connection
'打开连接
cnn.Open strCnn
rs1.Open "select * from A where ", cnn, adOpenKeyset, ckOptimistic再把记录集设到DATAGRID上去就行了
可是,这样就会有错,为什么呢?
我原已邦定了,会不会两者有冲突呢?
库名:fnid.mdb 表名:123
想让SQL的查询结果在DATAGRIDF里显示,以下是现有的,请问如何实现?Dim frecord As ADODB.Recordset
Dim conn As ADODB.Connection
Dim cmd As ADODB.Command
Private Sub DataGrid2_Click()
'conn.Open "select * from 123"
End Sub
Private Sub Form_Load()
Combo1.AddItem "haha"
Set frecord = New ADODB.Recordset
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
oonn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\find.mdb;"
End Sub
Dim conn As New ADODB.ConnectionPrivate Sub Form_Load()
Combo1.AddItem "haha"
conn.CursorLocation = adUseClient
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\find.mdb;"
frecord.Open "", conn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = frecord
End Sub
frecord.Open "select * from 123", conn, adOpenDynamic, adLockOptimistic
查询表中所有记录的sql语句为:"select * from 123"
查询表中姓名为 micro记录的sql语句为 ::"select * from 123 where 姓名='micro'"
但我作一条查的时候就不行,会出现“语法错误(操作符丢失。)在查询表达式‘年龄=21”中“
我用的是:
conn.Open "select * from 321 where 年龄='21'", conn, adOpenDynamic, adLockOptimistic 是SQL问题吗?怎么解决呢?
-----------------------------
这个是你的查询语句里的操作符没写对,就想上面你给的 = 号没写对,要在英文状态下输入另外,注意:如果你的年龄字段是数字类型,那么写查询语句的时候不要用单引号括起来:conn.Open "select * from 321 where 年龄='21'", conn, adOpenDynamic, adLockOptimistic
还是会出现错误。
frecord.Open "(select * from 321 where 年龄=21)", conn,adOpenDynamic,dLockOptimistic
可还不行呀。
frecord.Open "(select * from 321 where 年龄=21)", conn,adOpenDynamic,dLockOptimistic