我使用的是Delphi7,我有一个名为Table_1的表,它有两个字段,比如IMageCode Varchar(50),ActImage [Blob in Oracle, VarBinary(Max) in SQL Server],它插入了四条记录,包括图像和各自的图像代码。
当我在Oracle中编写如下SQL时:
Select * from Table_1 where Upper(ImageCode) ='SUNSET'TADOQuery不返回任何记录,当我检查TADOQuery.RecordCount时,它显示0,当我尝试查看TADOQuery.IsEmpty时,它显示True。然后,当我在Oracle编辑器中执行同样的查询时,它会像预期的那样返回一条记录,但在delphi中,TADOQuery不会返回任何记录。
但是,当我为oracle数据库编写以下简单的sql时,它使用TADOQuery返回所有四条记录:
Select * from Table_1正如上面使用TADOQuery讨论的那样,我在SQL server数据库中没有发现任何问题。
ADOConnection.Connected := False;
ADOConnection.LoginPrompt := False;
ADOConnection.ConnectionString := <Connection String>;
ADOConnection.Connected := True;
ADOQuery1.Connection := ADOConnection;
with ADOQuery1 do begin
Active := False;
SQL.Clear;
//SqL.Add('Select * from Table_1 where Upper(ImageCode) = ' + QuotedStr(Uppercase(Trim(edtImageCode.Text))));
SqL.Add('Select * from Table_1 where Upper(ImageCode) = ''SUNSET''');
Active := True;
end; 谁能把焦点放在什么可能的问题上?
发布于 2012-10-26 16:08:24
问题得到解决后,我尝试将"ImageCode“作为主键,现在TADOQuery返回了peroper记录计数,即如预期的1。以前没有主键,但无论是否有主键,TADOQuery都应该返回所需的数据集。
你猜对了吗?
https://stackoverflow.com/questions/13067374
复制相似问题