远程操作数据库,偶尔提示‘某某’字段无法找到!

huiyuehuiyue 2004-09-06 02:36:44
远程操作数据库。我用的ADOquery取得的数据集,查询数据的时候,输入相同的内容,偶尔莫名的提示‘某某’字段无法找到。但是有时就不提示!不知道为了什么?我觉得可能性比较大的是因为网速不稳定造成的(在不同的机器上都是有时正常有时不正常,郁闷啊!)。这种问题究竟如何解决呢?期待诸位的帮助。先在此谢过了。解决以后立即结贴!
...全文
191 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
huiyuehuiyue 2004-09-07
  • 打赏
  • 举报
回复
还是没有找到解决的办法。
vzxq 2004-09-07
  • 打赏
  • 举报
回复
可能是并发的原因
pzk 2004-09-07
  • 打赏
  • 举报
回复
有可能是多个窗口调用同一个数据源吧。

当一个窗口修改了数据源,并关闭时。可能导致一些问题。
yincaimin 2004-09-06
  • 打赏
  • 举报
回复
可以换用TADOTable试一下
yincaimin 2004-09-06
  • 打赏
  • 举报
回复
可以换用TADOTable试一下
xqsman 2004-09-06
  • 打赏
  • 举报
回复
是不是你的adoquery定义了fields对象,而且里面没有lastconnect这个fields
huiyuehuiyue 2004-09-06
  • 打赏
  • 举报
回复
这是我的一段代码
var
sqlstring:string;
begin
if ruyicar_datasource.ruyicar_connection.Connected=false then
begin
ruyicar_datasource.ruyicar_connection.ConnectionString:=ruyicar_mainform.userid.Strings[2];
ruyicar_datasource.ruyicar_connection.Connected:=true;
end;
ruyicar_datasource.ruyicar_query.Active:=false;
ruyicar_datasource.ruyicar_query.SQL.Clear;
if (query_quantity.ItemIndex=0) and (trim(searchinfo.Text)<>'') then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where connectionman like ''%'+searchinfo.Text+'%'' and userid='+ruyicar_mainform.userid.Strings[0];
end;
if (query_quantity.ItemIndex=1) and (trim(searchinfo.Text)<>'') then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where companyname like ''%'+searchinfo.Text+'%'' and userid='+ruyicar_mainform.userid.Strings[0];
end;
if (query_quantity.ItemIndex=2) and (trim(searchinfo.Text)<>'') then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where telephone like ''%'+searchinfo.Text+'%'' and userid='+ruyicar_mainform.userid.Strings[0];
end;
if (query_quantity.ItemIndex=3) and (trim(searchinfo.Text)<>'') then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where introduce like ''%'+searchinfo.Text+'%'' and userid='+ruyicar_mainform.userid.Strings[0];
end;
if (query_quantity.ItemIndex=4) and (trim(searchinfo.Text)<>'') then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where address like ''%'+searchinfo.Text+'%'' and userid='+ruyicar_mainform.userid.Strings[0];
end;
if trim(searchinfo.Text)='' then
begin
sqlstring:='select lastconnect as 最后联系时间,buyerstatus as 客户状态,buyerlevel as 客户等级,companyname as 客户名称,telephone as 联系电话,';
sqlstring:=sqlstring+'connectionman,salekeywords,buykeywords,fax,introduce,userid,email,buyerform,buyertype,buyertrade,buyerremake,ID,address from business_clientdata where userid='+ruyicar_mainform.userid.Strings[0];
end;
ruyicar_datasource.ruyicar_query.SQL.Add(sqlstring);
ruyicar_datasource.ruyicar_query.Active:=true;
with buyer_dbgrid do
begin
columns[0].Width:=90;
columns[1].Width:=90;
columns[2].Width:=100;
columns[3].Width:=200;
columns[4].Width:=120;
columns[5].Visible:=false;
columns[6].Visible:=false;
columns[7].Visible:=false;
columns[8].Visible:=false;
columns[9].Visible:=false;
columns[10].Visible:=false;
columns[11].Visible:=false;
columns[12].Visible:=false;
columns[13].Visible:=false;
columns[14].Visible:=false;
columns[15].Visible:=false;
columns[16].Visible:=false;
columns[17].Visible:=false;
end;
buyer_dbgrid.Visible:=true;

end;


偶尔出现的错误提示: ruyicar_query:field 'lastconnect' not found
但是有时不出现。
huiyuehuiyue 2004-09-06
  • 打赏
  • 举报
回复
谢谢各位的帮助,我在检查一下自己的代码!
hj007 2004-09-06
  • 打赏
  • 举报
回复
这个问题真怪,时好时坏,你要是说是程序的问题吧.可也有的时候是好的,要是网络的问题吧,好象又不太可能.我觉得你的问题一定是在某种特殊情况下才可能发生.建议你查看一下你的代码.这种时好时坏的问题最难办了.
yangyugw 2004-09-06
  • 打赏
  • 举报
回复
这是不可能的,如果是连接不上是网络问题,如果连接上了,能够访问数据库,但提示你字段找不到,那多半是你的程序问题,因为你已经将数据库中的表提交过来了,而是缺少字段,我个人觉得一定是你的sql问题。

检查你的自己的sql语句。估计是语句问题
huiyuehuiyue 2004-09-06
  • 打赏
  • 举报
回复
铁通的网络啊。我也怀疑过我的代码。但是还是找不到错误出现在那里。因为提示没有找到的字段也是不固定的啊。
shitianj 2004-09-06
  • 打赏
  • 举报
回复
这么神奇??
什么网?
ztenv 2004-09-06
  • 打赏
  • 举报
回复
对,然后呢建议你用一个事务处理
耙子 2004-09-06
  • 打赏
  • 举报
回复
应该不是网络的问题,TCP会保证数据的完整性,出错了它会重新发。
还是检查一下你的代码。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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