Delphi执行sql server普通查询
普通查询
1.用SQL属性查询指定的数据
用TADOQuery组件查询数据可以直接通过SQL语句进行查询,在使用SQL语句进行查询时,当查询字段的类型为字符或字符串时用单引号括起来;如果字段的类型为整型、单精度、双精度、货币时,则不需要用单引号括起来。
下面用SQL属性对数据表中的数据进行查询。查询“姓名”为“林风”的学生信息,如图1所示。
操作步骤如下:
(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TEdit、TComboBox、TDataSource、TButton和TDBGrid等组件。
(2)主要程序代码如下:
with ADOQuery1 do
begin
close;
SQL.Clear;
if a[Inp]=1 then //数组a用来判断当前字段用哪种SQL语句查询
SQL.Add('Select * from MR_Student where '+ComboBox1.Text+ComboBox2.Text+''''+Edit1.Text+'''') //当字段类型为Varchar、char、nvarchar、text等用该SQL语句
else
SQL.Add('Select * from MR_Student where '+ComboBox1.Text+ComboBox2.Text+Edit1.Text); //当字段类型为Int、float、double、money等用该SQL语句
open;
end;

图1 用SQL属性查询指定的数据
2.用Filter属性查询指定的数据
用TTable组件对数据进行查询时主要用Filter方法来获取数据的查询条件,如果该方法为空时,将查询表中的所有记录。
本示例是用Filter属性对数据表中的数据进行查询。
操作步骤如下:
(1)配置ODBC。
(2)运行Delphi,在窗体中添加TTable、TEdit、TComboBox、TDataSource、TButton和TDBGrid等组件。
(3)主要程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
//在Filter属性中输入查询的条件
Table1.Filter := ComboBox1.Text+COmboBox2.Text+''''+Edit1.Text+'''';
Table1.Filtered := True; //当Filtered属性为True时,Filter属性才有效
DataSource1.DataSet := Table1;
end;