ADO访问中文表名的时候出错(ACCESS数据库),帮忙啊!!!!

winiceasp 2001-07-02 11:25:35
Dim rsRZ As New ADODB.Recordset

cnString = "driver={microsoft access driver (*.mdb)};dbq=" _
& FileName & ";uid=sa;pwd="

sqlString = "select * from " & "企业信息"
rsRZ.CursorType = adOpenKeyset
rsRZ.LockType = adLockOptimistic
rsRZ.Open sqlString, cnString, , , adCmdTable

错误提示如下:
实时错误 [microsoft][ODBC mICORSOFT ACCESS 驱动程序] From 子句语法错误

但是在ACCESS中执行没有问题。而且表的名称不能修改。如何访问中文名称表名用ADO。只要正确一定加分,急急急急急急!!!!!
...全文
243 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
winiceasp 2001-07-03
  • 打赏
  • 举报
回复
我终于明白了问题所在。
sqlString = "select * from [企业信息]"
cnString = "driver={microsoft access driver (*.mdb)};dbq=" _
& "d:\myvb\r2k.mdb" & ";uid=sa;pwd="

rsLink.CursorType = adOpenKeyset
rsLink.LockType = adLockOptimistic
rsLink.Open sqlString, cnString, , , adCmdunknow
或者
rsLink.Open sqlString, cnString, , , adCmdText
谢谢所有回复的朋友们!!!特别是richard_1的帮助
richard_1 2001-07-02
  • 打赏
  • 举报
回复
不好意思,刚才说的有错,下面这样就行了:
Dim rsRZ As New ADODB.Recordset

cnString = "driver={microsoft access driver (*.mdb)};dbq=" _
& FileName & ";uid=sa;pwd="

sqlString = "select * from " & "企业信息"
rsRZ.CursorType = adOpenKeyset
rsRZ.LockType = adLockOptimistic
rsRZ.Open sqlString, cnString, , , adCmdUnKnow

注:把adCmdTable 改成 adCmdUnKnow

winiceasp 2001-07-02
  • 打赏
  • 举报
回复
lianghn:我用的VB6,winserver2000,access2000,如果是英文名称的表名无问题,中文的确有问题。
playyuer:加[]后也有此问题,还有什么方法,版主??
richard_1 2001-07-02
  • 打赏
  • 举报
回复
ADODB.Recordset 根本没有Open的方法,所以出错不是因为汉字,而是因为用了不存在的方法。

playyuer 2001-07-02
  • 打赏
  • 举报
回复
"select * from [企业信息]"
lianghn 2001-07-02
  • 打赏
  • 举报
回复
我没有遇到这种问题,平时使用Access2000都很正常,给你个例子
Dim connLocal As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

If connLocal.State = adStateClosed Then
connLocal.CommandTimeout = 15
connLocal.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" + mData
connLocal.Open
End If

Set cmd.ActiveConnection = connLocal
cmd.CommandText = "select * from 错误信息"
rs.Open cmd, , adOpenKeyset, adLockBatchOptimistic

其中mData为数据库文件名。
winiceasp 2001-07-02
  • 打赏
  • 举报
回复
楼上的方法无效。
lvjunyu 2001-07-02
  • 打赏
  • 举报
回复
改sqlString = "select * from " & "企业信息"为
sqlString = "select * from 企业信息"看看!
liu_feng_fly 2001-07-02
  • 打赏
  • 举报
回复
关注
joeking 2001-07-02
  • 打赏
  • 举报
回复
sqlString = "select * from " & "企业信息"
应该是:
sqlString = "select * from 企业信息"吧?

我一直用中文字段很好,不过,如果是中文字段,就不能用ADO来压缩与修复数据库,要不,你的表与字段肯定完完。
danfeng 2001-07-02
  • 打赏
  • 举报
回复
faint ~~~

sqlString = "select * from " & "企业信息" 这个语句显然有错三
~~加一个空格
改为
sqlString = "select * from " & " 企业信息"

你那样写的话其实是sqlString = "select * from企业信息"这个意思~~~能不出错吗?


zfcheng 2001-07-02
  • 打赏
  • 举报
回复
可能是没有该数据引擎,你确认一下你已有该数据的引擎。
mrlining 2001-07-02
  • 打赏
  • 举报
回复
ado.ConnectionString = "driver={microsoft access driver (*.mdb)};dbq=c:\db4.mdb;uid=sa;pwd="
ado.Open
R.Open "select * from 企业信息", ado, adOpenKeyset, adLockOptimistic

一点都没错

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧