我有这个 SQL 查询:
如您所见,它工作正常。除非我在 Delphi 中使用它。
我使用 TDBLookupComboBox、TEdit 和 TButton。我的想法是,每当我单击 TButton 时,EXE 都会使用 DBLookupComboBox 中的信息检查 SQL 中的表,并将结果放入 TEdit。
这是我的德尔福代码:
我有这个 SQL 查询:
如您所见,它工作正常。除非我在 Delphi 中使用它。
我使用 TDBLookupComboBox、TEdit 和 TButton。我的想法是,每当我单击 TButton 时,EXE 都会使用 DBLookupComboBox 中的信息检查 SQL 中的表,并将结果放入 TEdit。
这是我的德尔福代码:
在您的 Delphi 代码中,您使用的是双引号: "
您的字符串需要用单引号引起来: '
要在 Delphi 字符串中嵌入单引号,需要使用两个单引号:''
S := 'hey"there'; // hey"there
S := 'hey''there'; // hey'there
S := 'specification='''; // specification='
S := ''''; // '
试试这个代码。
Chr(39) in delphi = " ' " sign.
我希望它会有所帮助。
Begin
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('Select Sum(Cast(Total As Float)) As tot From machine Where Specification='+Chr(39)+dbLookupComboBox1.Text+Chr(39));
AdoQuery1.Open;
End;