delphi中与sql数据读取器相同的方法是什么?
检索数据的方法是什么delphi中与sql数据读取器相同的方法是什么?,sql,delphi,sqldatareader,Sql,Delphi,Sqldatareader,检索数据的方法是什么 SQLCmd.CommandText = "SELECT NAMA,SEKSYEN FROM STUDENT_INFORMATION WHERE MATRIC='" & TextBox1.Text & "'" rd = SQLCmd.ExecuteReader If rd.HasRows Then rd.Read() TextBox2.Text = rd.Item("NAMA").ToString TextBox3.Text = rd
SQLCmd.CommandText = "SELECT NAMA,SEKSYEN FROM STUDENT_INFORMATION WHERE MATRIC='" & TextBox1.Text & "'"
rd = SQLCmd.ExecuteReader
If rd.HasRows Then
rd.Read()
TextBox2.Text = rd.Item("NAMA").ToString
TextBox3.Text = rd.Item("SEKSYEN").ToString
rd.Close()
Else
TextBox2.Text = ""
TextBox3.Text = ""
MessageBox.Show("No Data!")
End If
我有一些。但不知道Delphi7中是否有类似于SqlDataReader
的方法
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('Select *');
SQL.Add('from REPORT');
SQL.Add('where CARD_ID = "' + card1.Text + '"');
if then
begin
Edit1.Text = rd.Item("SEKSYEN").AsString ;// wrong code trying to convert from above . not complete
ComboBox1.Text = rd.Item("SEKSYEN").AsString;// wrong code trying to convert from above . not complete
ComboBox2.Text = rd.Item("SEKSYEN").AsString ;// wrong code trying to convert from above . not complete
Edit2.Text = rd.Item("SEKSYEN").AsString ; // wrong code trying to convert from above . not complete
end;
你能帮我吗?我卡住了等效的
ExecuteReader
是打开的
HasRows
是IsEmpty
,从一行中读取单个列的方法是通过FieldByName
使用Fields
集合:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select *');
ADOQuery1.SQL.Add('from REPORT');
ADOQuery1.SQL.Add('where CARD_ID = "' + card1.Text + '"');
ADOQuery1.Open;
if not ADOQuery1.IsEmpty then
begin
Edit1.Text = ADOQuery1.FieldByName('SEKSYEN').AsString ;
ComboBox1.Text = ADOQuery1.FieldByName('SEKSYEN').AsString;
ComboBox2.Text = ADOQuery1.FieldByName('SEKSYEN').AsString ;
Edit2.Text = ADOQuery1.FieldByName('SEKSYEN').AsString;
end;
在打开数据集后,可以使用
adokery1.FieldByName('SEKSYEN').AsString
按名称访问字段。此时,您将站在数据集的第一条记录上。要获得下一条记录,请使用ADOQuery.next
方法。我的意思是,您知道在delphi中hasrow/read中有任何替换吗?使用query。首先
移动到第一条记录,然后检查not query.EOF
以确保实际上至少有一条记录。在迭代数据集时自动读取行,因此,没有Read
方法可供选择。请查看(->方法的文档,了解您所需的一切,并期待不同的行为。但是方法名称正在与您对话(IsEmpty
而不是HasRows
)