DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: snarv
今日帖子: 14
在线用户: 14
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
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楼: 就只有这样一个程序是没有错误的你有没有使用到查询如果有就是那边的错了
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
作者:
男 shijun (石军) ★☆☆☆☆ -
普通会员
2003/9/30 10:25:17
2楼: 不是这里的错误吧,肯定在其它代码。
----------------------------------------------
All about android
www.kidroid.com
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
2003/9/30 10:25:47
2楼: 没有用查询,出了这个错误后,曾想到用查询。

对了,我曾经以为是数据库不应该加密,因为Access的加密数据库被打开时是独占打开的,但去掉了密码也没有用。
----------------------------------------------
简简单单就好
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
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;
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
2003/9/30 10:31:41
4楼: 整个程序的数据连接都是在这个数据模块中,应该没有问题。
另外,我刚试了将代码注释掉直接用组件的属性进行连接,在试图将ADOTable2的Active设为true时也出现了这个提示。
----------------------------------------------
简简单单就好
作者:
男 fancy (Fancy) ★☆☆☆☆ -
盒子活跃会员
2003/9/30 10:33:31
5楼: 你能不能把整个程序;给我我帮你调试吧
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
2003/9/30 10:34:15
5楼: 气死我了,fancy兄, 我按你说的改了代码后还是出现这个错提示。

----------------------------------------------
简简单单就好
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
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]';
----------------------------------------------
给自己一个最好的敌人,这个敌人就是自己!向自己发出挑战!战胜自己
作者:
男 studier (清风) ★☆☆☆☆ -
盒子活跃会员
2003/9/30 10:40:19
7楼: 多谢fancy和shijun两位,我将access中‘user’表的名字改为‘userlogin’后能用了,谢谢。
原来在Access中表名不能用‘user’,也许这是它的关键字吧。

两位有什么需要尽管说,我将尽力帮助。
liumin_yang@sohu.com
----------------------------------------------
简简单单就好
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行78.125毫秒 RSS