begin sql:= TStringList.Create;
sql.Append('SELECT T1.DECL_NO,T1.DECL_REG_NO,DECL_PERSON_CODE,DECL_DATE,ENT_PROPERTY,GOODS_PLACE,SHEET_TYPE_CODES,DECL_TYPE_CODE,VALUES_USD,VALUES_RMB,ENT_DECL_NO,CERT_TYPE_CODES,CONSIGNOR_CNAME ');
sql.Append('from T_GOODS_DECL@' + dblinkInfo.dblinkName + ' T1, ');
sql.Append('(select a.DECL_NO,b.DECL_REG_NO from T_CERT_STATUS a,T_DECL_BASE b ');
sql.Append('where a.DECL_NO=b.DECL_NO and (status=''1'' or status=''0'') and dept_code = ''' + deptInfo.deptCode + ''') T2 ');
sql.Append('where T1.DECL_REG_NO=T2.DECL_REG_NO and T1.DECL_REG_NO = :P1 ');
sql.Append('and to_char(T1.DECL_DATE,''yyyy-MM-dd'')=''2005-10-28'' ');
sql.Append('and T1.DECL_NO<>T2.DECL_NO'); adoQuery.SQL.Clear();
adoQuery.SQL.Addstrings(sql);
adoQuery.Parameters.ParamByName('P1').Value:= declRegNo;
//adoQuery.Parameters.ParamByName('P2').Value:= queryValue;
declBaseList:= TObjectList.Create(true);
try
try
//showmessage(adoQuery.SQL.Text);
adoQuery.Open;
adoQuery.First();
while not adoQuery.Eof do
begin
declBase:= TDeclBase.Create();
declBase.declNo:= adoQuery.FieldByName('DECL_NO').AsString;
declBase.declRegNo:= adoQuery.FieldByName('DECL_REG_NO').AsString;
declBase.declPersonCode:= adoQuery.FieldByName('DECL_PERSON_CODE').AsString;
declBase.declDate:= adoQuery.FieldByName('DECL_DATE').AsString;
declBase.entProperty:= adoQuery.FieldByName('ENT_PROPERTY').AsString;
adoQuery.Next();
end;
result:= declBaseList;
finally
adoQuery.Close;
end;
except
result:= declBaseList;
end;
result:= declBaseList;
end;
我的数据库 语句这里 怎么一点查询 按钮 在
while not adoQuery.Eof do 这句跳出到 finally adoQuery.Close;到底哪错了??请大家帮我看下
解决方案 »
- treeview 禁止修改文字 高手进
- 为什么我的adoquery的ative属性不能设为true??
- 在控制台下怎样定义一个类
- 请帮我写个字符串处理的函数好吗?刚用delphi不熟悉
- 请问哪位有PCComm.dll这个动态链接库,望能相赠,多谢了!!!!
- 一个很简单的问题,帮忙
- 如何实现鼠标放在listbox就会自动选中listbox其中的项目。
- 高分寻求控件
- 请问大家,谁知道有没有专门系统讲述数据库组件用法的Delphi书籍(达到或接近李维所讲ADO的水平),谢谢!
- inno setup pchar分配内存
- 请大家帮忙看下,关于idtcpclent和idtcpserver的简单问题
- 救命呀还是DBGrid不完全显示的问题
begin sql:= TStringList.Create;
sql.Append('SELECT T1.DECL_NO,T1.DECL_REG_NO,DECL_PERSON_CODE,DECL_DATE,ENT_PROPERTY,GOODS_PLACE,SHEET_TYPE_CODES,DECL_TYPE_CODE,VALUES_USD,VALUES_RMB,ENT_DECL_NO,CERT_TYPE_CODES,CONSIGNOR_CNAME ');
sql.Append('from T_GOODS_DECL@' + dblinkInfo.dblinkName + ' T1, ');
sql.Append('(select a.DECL_NO,b.DECL_REG_NO from T_CERT_STATUS a,T_DECL_BASE b ');
sql.Append('where a.DECL_NO=b.DECL_NO and (status=''1'' or status=''0'') and dept_code = ''' + deptInfo.deptCode + ''') T2 ');
sql.Append('where T1.DECL_REG_NO=T2.DECL_REG_NO and T1.DECL_REG_NO = :P1 ');
sql.Append('and to_char(T1.DECL_DATE,''yyyy-MM-dd'')=''2005-10-28'' ');
sql.Append('and T1.DECL_NO<>T2.DECL_NO'); adoQuery.SQL.Clear();
adoQuery.SQL.Addstrings(sql);
adoQuery.Parameters.ParamByName('P1').Value:= declRegNo;
//adoQuery.Parameters.ParamByName('P2').Value:= queryValue;
declBaseList:= TObjectList.Create(true);
try
try
adoQuery.Open;
if not AdoQuery.IsEmpty then
begin
adoQuery.First();
while not adoQuery.Eof do
begin
declBase:= TDeclBase.Create();
declBase.declNo:= adoQuery.FieldByName('DECL_NO').AsString;
declBase.declRegNo:= adoQuery.FieldByName('DECL_REG_NO').AsString;
declBase.declPersonCode:= adoQuery.FieldByName('DECL_PERSON_CODE').AsString;
declBase.declDate:= adoQuery.FieldByName('DECL_DATE').AsString;
declBase.entProperty:= adoQuery.FieldByName('ENT_PROPERTY').AsString;
adoQuery.Next();
end;
end;
result:= declBaseList;
finally
adoQuery.Close;
end;
except
result:= declBaseList;
end;
result:= declBaseList;
end;