|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2003/9/30 10:16:26 |
标题: |
共享ADOConnection带来的问题:‘from子句语法错误’。(我是新手,请多多关照) |
浏览:2051 |
|
加入我的收藏 |
楼主: |
我在作一个系统时,在数据模块中使用两个ADOTable共用一个ADOConnection组件来访问一个Access数据库中的两个表,连接字符串是在模块的建立时定义的,如下: ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+Mypath+'data\用户信息.mdb;Jet OLEDB:Database Password='+Mypass+';Persist Security Info=False'; ADOTable1.connection:=ADOConnection1; ADOTable2.connection:=ADOConnection1; ADOTable1.tablename:='infomation'; ADOTable2.tablename:='user'; ADOTable1.Active:=true; ADOTable2.Active:=true;
结果在运行时出现提示“from子句语句错误”,百思不得其解,请大家帮帮忙,谢谢了。
----------------------------------------------
简简单单就好 |
作者: |
fancy (Fancy) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/30 10:21:26 |
1楼: |
就只有这样一个程序是没有错误的你有没有使用到查询如果有就是那边的错了
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
|
作者: |
|
2003/9/30 10:25:17 |
2楼: |
不是这里的错误吧,肯定在其它代码。
----------------------------------------------
All about android www.kidroid.com
|
作者: |
|
2003/9/30 10:25:47 |
2楼: |
没有用查询,出了这个错误后,曾想到用查询。
对了,我曾经以为是数据库不应该加密,因为Access的加密数据库被打开时是独占打开的,但去掉了密码也没有用。
----------------------------------------------
简简单单就好
|
作者: |
|
2003/9/30 10:26:51 |
3楼: |
我再检查一遍
----------------------------------------------
简简单单就好
|
作者: |
fancy (Fancy) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/30 10:28:51 |
3楼: |
忘记问你了,你的代码是不是这个: ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+Mypath+'data\用户信息.mdb;Jet OLEDB:Database Password='+Mypass+';Persist Security Info=False'; ADOTable1.connection:=ADOConnection1; ADOTable2.connection:=ADOConnection1; ADOTable1.tablename:='infomation'; ADOTable2.tablename:='user'; ADOTable1.Active:=true; ADOTable2.Active:=true;
如果变成这个如何: ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+Mypath+'data\用户信息.mdb;Jet OLEDB:Database Password='+Mypass+';Persist Security Info=False'; ADOConnection1.Open; ADOTable1.connection:=ADOConnection1; ADOTable2.connection:=ADOConnection1; ADOTable1.tablename:='infomation'; ADOTable2.tablename:='user'; ADOTable1.Active:=true; ADOTable2.Active:=true;
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
|
作者: |
|
2003/9/30 10:31:41 |
4楼: |
整个程序的数据连接都是在这个数据模块中,应该没有问题。 另外,我刚试了将代码注释掉直接用组件的属性进行连接,在试图将ADOTable2的Active设为true时也出现了这个提示。
----------------------------------------------
简简单单就好
|
作者: |
fancy (Fancy) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/30 10:33:31 |
5楼: |
你能不能把整个程序;给我我帮你调试吧
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
|
作者: |
|
2003/9/30 10:34:15 |
5楼: |
气死我了,fancy兄, 我按你说的改了代码后还是出现这个错提示。
----------------------------------------------
简简单单就好
|
作者: |
|
2003/9/30 10:35:19 |
6楼: |
对了,在access中表号的定义有讲究吗?
----------------------------------------------
简简单单就好
|
作者: |
fancy (Fancy) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/30 10:35:51 |
6楼: |
你把代码发给我吧;我帮你调试完成
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
|
作者: |
fancy (Fancy) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/30 10:37:53 |
7楼: |
应该没有如果有的话你可以加这个符号 ADOTable1.tablename:='[infomation]'; ADOTable2.tablename:='[user]';
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
|
作者: |
|
2003/9/30 10:40:19 |
7楼: |
多谢fancy和shijun两位,我将access中‘user’表的名字改为‘userlogin’后能用了,谢谢。 原来在Access中表名不能用‘user’,也许这是它的关键字吧。
两位有什么需要尽管说,我将尽力帮助。 liumin_yang@sohu.com
----------------------------------------------
简简单单就好
|
|