gpt4 book ai didi

sql - 运行查询并在TEdit中显示结果

转载 作者:行者123 更新时间:2023-12-03 19:00:41 25 4
gpt4 key购买 nike

我有一个TComboBox,其中包含从数据库中收集的名称列表。我旁边打算使用TEdit来显示与每个人相关的ID号。

由于firstName和lastName是表中的单独字段,但是在TCombobox中一起显示,因此我写了一个小节将firstName和lastName分为两个单独的变量:


 pos := AnsiPos(' ', cbStudents.Text); 
firstName := Copy(cbStudents.Text, 0, pos-1);
lastName := Copy(cbStudents.Text, pos+1, Length(cbStudents.Text));



然后执行SQL代码:

  try
query.Open;
query.SQL.Add('Select studentID');
query.SQL.Add('From student');
query.SQL.Add('Where firstName = ' + StrToQuote(firstName));
query.SQL.Add('And lastName = ' + StrToQuote(lastName));
editID.Text := query
finally
query.Free;
end;


注意: StrToQuote用双引号(“”)封装变量firstName和lastName。

我收到的错误是:

参数超出范围

我究竟做错了什么?在此先感谢您的帮助。

最佳答案

您的代码无法正常工作。首先打开查询,然后设置SQL查询字符串。代替

   try
query.Open;
query.SQL.Add('Select studentID');
query.SQL.Add('From student');
query.SQL.Add('Where firstName = ' + StrToQuote(firstName));
query.SQL.Add('And lastName = ' + StrToQuote(lastName));
finally
query.Free;
end;




  // create or reset query here
query := ...

try

query.SQL.Add('SELECT studentID');
query.SQL.Add('FROM student');
query.SQL.Add('WHERE firstName = :firstname');
query.SQL.Add('AND lastName = :lastName');

// set parameter values here

query.Open;

// now transfer data from fields to the user interface (TEdit)

finally
query.Free;
end;

关于sql - 运行查询并在TEdit中显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13207224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com