私はDelphi7を使用していますが、という名前のテーブルがTable_1
あり、2つのフィールドがあります。たとえば、IMageCode Varchar(50)
画像ActImage [Blob in Oracle, VarBinary(Max) in SQL Server]
とそれぞれの画像コードを含む4つのレコードが挿入されています。
Oracleで以下のようにSQLを作成すると、次のようになります。
Select * from Table_1 where Upper(ImageCode) ='SUNSET'
TADOQuery.RecordCount
TADOQueryは、レコードが表示されていることを確認すると、レコードが返されません。0
表示しようとすると、と表示TADOQuery.IsEmpty
されますTrue
。次に、同じクエリをOracleエディターで実行すると、期待どおりに1つのレコードが返されますが、delphiではTADOQueryはレコードを返しません。
しかし、Oracleデータベース用に次の単純なSQLを作成すると、TADOQueryを使用して4つのレコードすべてが返されます。
Select * from Table_1
上記でTADOQueryを使用して説明したように、SQLサーバーデータベースに問題は見つかりません。
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;
誰かが問題になる可能性があることに焦点を当てることができますか?