sql-server - SQL查询输出到Delphi中的变量?

标签 sql-server delphi unidac

我想知道如何将 SQL 查询结果放入变量中。

我知道这一点

integerVariable := UniQuery1.RecordCount;

但是这个?

integerVariable := SELECT COUNT(*) FROM Orders WHERE Amount='1000' 

最佳答案

你需要做的是首先“执行”sql,然后检查结果,如果结果存在,然后将其存储在变量中,这就是我的意思:

procedure ...;
var
  LCount: Integer;
begin
  LCount := 0;
  //
  // note that I am doubling the single quote to escape it
  //
  // set the query
  UniQuery1.SQL.Text := 'SELECT COUNT(*) FROM Orders WHERE Amount=''1000'';';
  //
  // "execute" it
  //
  UniQuery1.Open;
  //
  // SELECT COUNT(*) will return 1 record with 1 field
  // most likely the field name is 'count' <= lower case
  // but we are sure that there should be only 1 field so we 
  // access it by Fields[Index].As[TYPE]
  //
  LCount := UniQuery1.Fields[0].AsInteger;
  ShowMessageFmt('Total count of orders with Amount = 1000: %d', [LCount]);
end;

编辑: 感谢您指出“COUNT”总会有返回。

关于sql-server - SQL查询输出到Delphi中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9944510/

相关文章:

sql-server - sqlcmd 关闭文本

sql-server - 在 Azure 上创建弹性作业代理后,导出失败

delphi - Delphi XE下的工具栏2000?

delphi - TWebBrowser-试图修复“无效的浮点运算”错误

sql - 使用一个 SQL 查询的结果来查找另一表的结果?

sql - 无法使用 Management Studio 连接到本地 SQL Server

Delphi 2010 - 无法加载 SSL 库

sql - 德尔福/Access 选择 SQL 错误

Delphi编辑unicode表格数据