您的位置:首页 > 编程语言 > Delphi

delphi使用SQL的教程8

2020-02-15 20:09 501 查看

{ Use a resource protection block in case an exception is raised. This
ensures that the memory allocated for the Results form is released. }
try
with frmQuery do
begin
Screen.Cursor := crHourglass;
if Query1.Active then Query1.Close;
Query1.DatabaseName := strAlias; {set the alias the query poitns to}
Query1.SQL.clear; { empty existing SQL in the query }
Query1.SQL.Add(strQuery); { add query string to query object }
Query1.Active := True; { try to run the query }
Screen.Cursor := crDefault;
 
if Query1.Active then
begin
{ If the query didn’t return any records, there’s no point in
displaying the form. In that event, raise an exception. }
if Query1.RecordCount < 1 then
raise Exception.create(’No records matched your criteria. 
Please try again.’ );
 
{ write a message to the browse form’s status line }
if strField = ’’ then
Panel3.Caption := ’Now showing all records from ’ + strTable 
+ ’...’
else
Panel3.Caption := ’Now showing ’+ strTable +’ where ’+ strField
+’ contains values equal to ’+ strValue + ’...’;
 
{ show the form }
ShowModal;
end;
end;
finally
frmQuery.Free;
end;
end;
 
end.
 
 
unit RSLTFORM;
 
interface
 
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls, StdCtrls, DB,
Forms, DBCtrls, DBGrids, DBTables, Buttons, Grids, ExtCtrls, Dialogs;
 
type
TResultForm = class(TForm)
DBGrid1: TDBGrid;
DBNavigator: TDBNavigator;
Panel1: TPanel;
DataSource1: TDataSource;
Panel2: TPanel;
Panel3: TPanel;
Query1: TQuery;
SpeedButton2: TSpeedButton;
Panel4: TPanel;
SpeedButton1: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
end;
 
var
ResultForm: TResultForm;
 
implementation
 
{$R *.DFM}
 
procedure TResultForm.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
 
procedure TResultForm.SpeedButton2Click(Sender: TObject);
var
strText: string; { Variable to hold display text }
iCounter: Integer; { Loop counter variable }
begin
 
{ Build a string containing the query }
 
strText := ’’;
for iCounter := 0 to Query1.SQL.Count - 1 do
strText := strText + Query1.SQL[iCounter];
 
{ Display the query text }
 
MessageDlg(’The underlying query is: ’ + #10 + #10 + strText,
mtInformation, [mbOK], 0 );
end;
 
end.

转载于:https://www.cnblogs.com/JTeacher/archive/2012/11/19/2776918.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
dipo2207 发布了0 篇原创文章 · 获赞 0 · 访问量 142 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: