一个组件声明问题 FORM上有QUERY1组件,想写一个函数使用这个组件,应该怎么操作?是在VAR中定义一个varquery1:Tquery;还是怎么样?我这样用了发现头一次运行可以,第二次执行到SQL.CLEAR就出错,请各位指教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在sql.clear之前有没有 close啊不用声明,直接用就是了。 既然窗体上有了QUERY1 ,那么就不要varquery1:Tquery;它已经自动加上了--------query1.SQL.CLEAR; 但是函数里什么都不写的话,会提示UNdecleared identify : 'query1'程序如下unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, FileCtrl, StdCtrls, DB, DBTables,types,math;type TForm3 = class(TForm) DirectoryListBox1: TDirectoryListBox; FileListBox1: TFileListBox; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; ComboBox1: TComboBox; Query1: TQuery; Table4: TTable; Query4: TQuery; Button2: TButton; Table3: TTable; Query3: TQuery; Table2: TTable; Query2: TQuery; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); // procedure Button3Click(Sender: TObject); private kind : integer;//0:initial;1:汇率;2明细;3:余额 sum:double; { Private declarations } public { Public declarations } end;implementation{$R *.dfm}function readhl(code:string;shijian:string):string;vara:string;beginwith query1 dobeginclose;sql.clear;a:='select from 当日汇率.db where date1=:shijian';sql.add(a);params.parambyname('shijian').value:=shijian;open;result :=query1.fieldbyname(code).asstring;sql.clear;close;end;end; 可能有这样几个错误:unit Unit3;interfaceuses......type TForm3 = class(TForm) ...... Query1: TQuery; ..... procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private kind : integer; sum:double; { Private declarations } public { Public declarations } end;var Form3: TForm3; //建立一个Form对象implementation{$R *.dfm}function TForm3.readhl(code:string;shijian:string):string; //加类名var a:string;begin with query1 do begin close; sql.clear; a:='select from 当日汇率.db where date1=:shijian'; sql.add(a); params.parambyname('shijian').value:=shijian; open; result :=query1.fieldbyname(code).asstring; close; sql.clear; end;end; Timage控件的问题 为什么ShowWindow(Hwnd,SW_HIDE)会导致程序关闭呢? 请教一个FastReport交叉表的问题 为什么WIN2000服务器会经常自动启动? 为什么我调试WebService时, serverinfo.exe 有时老是起不来 如何使用dbedit更新dbgrid? 数据更新问题 ,路过的近来帮忙。 请问如何使TSaveDialog组件能自动给用户指定的文件名后加扩展名? 请高手赐教!!!(熟悉ADO的) 谁能提供一些关于三层体系方面的资料或网址? 請問:SQL查詢出的某個字段最多字符是多少 自定义了一个函数,如何在delphi的窗体里使用啊?
不用声明,直接用就是了。
var
query1:Tquery;
它已经自动加上了
--------
query1.SQL.CLEAR;
UNdecleared identify : 'query1'
程序如下unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FileCtrl, StdCtrls, DB, DBTables,types,math;type
TForm3 = class(TForm)
DirectoryListBox1: TDirectoryListBox;
FileListBox1: TFileListBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Query1: TQuery;
Table4: TTable;
Query4: TQuery;
Button2: TButton;
Table3: TTable;
Query3: TQuery;
Table2: TTable;
Query2: TQuery;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
// procedure Button3Click(Sender: TObject);
private
kind : integer;//0:initial;1:汇率;2明细;3:余额
sum:double;
{ Private declarations }
public { Public declarations }
end;implementation{$R *.dfm}
function readhl(code:string;shijian:string):string;
var
a:string;
begin
with query1 do
begin
close;
sql.clear;
a:='select from 当日汇率.db where date1=:shijian';
sql.add(a);
params.parambyname('shijian').value:=shijian;
open;
result :=query1.fieldbyname(code).asstring;
sql.clear;
close;
end;
end;
unit Unit3;interfaceuses
......
type
TForm3 = class(TForm)
......
Query1: TQuery;
.....
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
kind : integer;
sum:double;
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3; //建立一个Form对象implementation{$R *.dfm}
function TForm3.readhl(code:string;shijian:string):string; //加类名
var
a:string;
begin
with query1 do
begin
close;
sql.clear;
a:='select from 当日汇率.db where date1=:shijian';
sql.add(a);
params.parambyname('shijian').value:=shijian;
open;
result :=query1.fieldbyname(code).asstring;
close;
sql.clear;
end;
end;