delphi7生成exe文件在其他电脑运行问题
我在家里用delphi7编了个小程序,准备在公司电脑跟同事一起用。在家里明明调试各功能都能正常运行。我是直接按F9生成的exe文件和access数据库文件这两个文件拷到家...
我在家里用delphi7编了个小程序,准备在公司电脑跟同事一起用。在家里明明调试各功能都能正常运行。我是直接按F9生成的exe文件和access数据库文件这两个文件拷到家里的另一台电脑上也可以正常运行。
但是为什么我一样把这两个文件拷到公司电脑,就连一个最简单的登陆就提示有问题,提示FROM 子句中的语法错误 。(公司是台资企业,系统都是繁体字,我已经考虑到这点,所以ACCESS数据表所有的中文已经改成繁体字了)如下图:
var
i1:integer;
begin
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * from 工号');
form1.ADOQuery1.Open;
form1.ADOQuery1.First;
for i1:=1 to form1.ADOQuery1.recordcount do
begin
if (trim(form1.Edit1.Text)=form1.ADOQuery1.FieldByName('工号').AsString ) and (trim(form1.Edit2.text)=form1.ADOQuery1.FieldByName('密码').AsString ) then
begin
form2.show;
end
else
begin
form1.ADOQuery1.Next;
if i1= form1.ADOQuery1.RecordCount then
begin
application.MessageBox('用户名或密码错误','2b-BBS系统') ;
end; 展开
但是为什么我一样把这两个文件拷到公司电脑,就连一个最简单的登陆就提示有问题,提示FROM 子句中的语法错误 。(公司是台资企业,系统都是繁体字,我已经考虑到这点,所以ACCESS数据表所有的中文已经改成繁体字了)如下图:
var
i1:integer;
begin
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * from 工号');
form1.ADOQuery1.Open;
form1.ADOQuery1.First;
for i1:=1 to form1.ADOQuery1.recordcount do
begin
if (trim(form1.Edit1.Text)=form1.ADOQuery1.FieldByName('工号').AsString ) and (trim(form1.Edit2.text)=form1.ADOQuery1.FieldByName('密码').AsString ) then
begin
form2.show;
end
else
begin
form1.ADOQuery1.Next;
if i1= form1.ADOQuery1.RecordCount then
begin
application.MessageBox('用户名或密码错误','2b-BBS系统') ;
end; 展开
5个回答
展开全部
数据库中很忌讳用中文做为字段名或者表名,建议你全部换成英文的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐不要用中文做表名和字段名,否则很多不可预期的问题都可能出现
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个问题,你换在英文目录下试试,看看还报错吗?
追问
是在英文目录下的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有的公司机器都给设置了,另外就是你看一下你写的FROM子句是不是有一定逻辑性问题
追问
帮忙看下我追问的程序,还请大大们帮忙找出原因
追答
建议表名用英文
加上数据库位置
建议你一个一个去检索,之后加在一起
应该是写的逻辑性问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然调试都是成功的,不管繁体简体的问题
看看具体的语句的值
看看具体的语句的值
追问
我把登陆按钮的程序拷在追问里了,你帮忙看下,(因追问受字数限制的原因最后是4个END;我删掉三个)
追答
select * from 工号
你的表名称叫工号吗????
再说这样查询合理吗?
ADOQuery1
.sql.text := 'select * from tuser where userno='+quotedstr(Edit1.Text)
)+' and 密码='+quotedstr(Edit2.Text);
adoquery1.open;
if adoquery1.isempty then
begin
//处理没有这个用户的提示
end
else form2.show;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询