我是初学的,请教下我吧!!!!!!!!!!我用 access ado 来连的,我建了一个Dm 做数据连接模块,用 adouqerry 来打开infor 的表,现在建了一个 form ,里面里有 edit1 dbedit1
我想在edit1输入后 .enter 就要查询表infor 然后将结果显示在 dbedit1中,procedure TDPFrom.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
//////////////
这部分如果写??????????????
/////////////
end;
end;
DM.pas 代码如下:
unit DMUnit;interfaceuses
SysUtils, Classes, DB, ADODB;type
TDM = class(TDataModule)
conn: TADOConnection;
company: TADOQuery;
dscompany: TDataSource;
KHZL: TADOQuery;
dsKHZL: TDataSource;
DPD: TADOQuery;
dsDPD: TDataSource;
procedure dscompanyDataChange(Sender: TObject; Field: TField);
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
procedure OpenAll;
{ Public declarations }
end;var
DM: TDM;implementation
uses companyunit,productunit,DPunit;
{$R *.dfm}procedure TDM.OpenAll;
beginend;
procedure TDM.dscompanyDataChange(Sender: TObject; Field: TField);
begin
if Assigned(WH110Form) then // 如果在WH110Form中
// ShowMessage('change') ;
WH110Form.yes.Enabled := True; //记录发生改变,Button1可用。提交保存
end;procedure TDM.DataModuleCreate(Sender: TObject);
begin
conn.Connected:=true;
company.Open;
KHZL.Open;
DPD.Open;
// OpenAll
{conn.Connected:=True; if conn.Connected then
else
begin
if MessageBox(0, '连接后台数据库失败,是否重新指定数据库位置连接',
'严重错误', MB_YESNO + MB_ICONSTOP) = IDYES then begin
Conn.Close;
conn.Open;
end;
end; }end;
end.
我想在edit1输入后 .enter 就要查询表infor 然后将结果显示在 dbedit1中,procedure TDPFrom.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
//////////////
这部分如果写??????????????
/////////////
end;
end;
DM.pas 代码如下:
unit DMUnit;interfaceuses
SysUtils, Classes, DB, ADODB;type
TDM = class(TDataModule)
conn: TADOConnection;
company: TADOQuery;
dscompany: TDataSource;
KHZL: TADOQuery;
dsKHZL: TDataSource;
DPD: TADOQuery;
dsDPD: TDataSource;
procedure dscompanyDataChange(Sender: TObject; Field: TField);
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
procedure OpenAll;
{ Public declarations }
end;var
DM: TDM;implementation
uses companyunit,productunit,DPunit;
{$R *.dfm}procedure TDM.OpenAll;
beginend;
procedure TDM.dscompanyDataChange(Sender: TObject; Field: TField);
begin
if Assigned(WH110Form) then // 如果在WH110Form中
// ShowMessage('change') ;
WH110Form.yes.Enabled := True; //记录发生改变,Button1可用。提交保存
end;procedure TDM.DataModuleCreate(Sender: TObject);
begin
conn.Connected:=true;
company.Open;
KHZL.Open;
DPD.Open;
// OpenAll
{conn.Connected:=True; if conn.Connected then
else
begin
if MessageBox(0, '连接后台数据库失败,是否重新指定数据库位置连接',
'严重错误', MB_YESNO + MB_ICONSTOP) = IDYES then begin
Conn.Close;
conn.Open;
end;
end; }end;
end.
解决方案 »
- 如何安全的结束线程
- delphi用什么做报表比较容易导入execle?我用quickreport做好报表,可是导入execel后数据不对该如何解决?
- CONSOLE和GUI双模式
- 这段代码如何设事务(高手请看看)
- 谁做过收费站的软件,控制抬杆器和字符显示器难吗?急呀,在线等,散分了
- 一个很奇怪的问题!
- 調查:用delphi編程後,你的月薪又是多少?未用delphi時,月薪多少?(我想學delphi,看他是否有錢途)
- 虽然我离开公司,但还是帮公司一把,求如下人才
- 有关建立带有Image的表格的问题!!!!!!请高手指教
- sos 求救 关于类似PROJECT 2000的甘特图型控件
- sql数据丢失问题及三层的数据更新问题
- 怎么样在listview中判断要选择的项
是EDIT里面的相当于一个参数吗?然后结果在DBEDIT里面显示出来
if key=#13 then begin
with adoquery do begin
Close;
SQL.Clear;
SQl.Text:='select 字段名 from 表名 where 字段名=:A';
paramsters.parambyanem('A').value:=Trim(Edit.Text);
open;
end;
if Adoquery.IsEmpty=False then
begin
dbedtit.text:=adoquery.fieldbyname('字段').asstring;
或者DBEDIT指向ADOQUERY
end;
end;
with dm.adoquery do begin
Close;
SQL.Clear;
SQl.Text:='select 字段名 from 表名 where 字段名=:A';
Parameters.ParamByName('A').value:=Trim(Edit1.Text);
open;
dbedit1.DataField:='字段名';
open;
end;
end;
begin
if key=#13 then
begin
with ADOQuery1 do
begin
Close; SQL.Clear;
SQL.Add('select 字段名 from 表名 where 字段名='+''''+Edit1.text+'''');
Open;
end;
end;
end;
////楼主说不太清楚,能理解的就这些了
begin
if key=#13 then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select 字段名 from 表名 where 字段名= '+QuotedStr(Edit1.text);
Open;
end;
end;
end;或者locate看看帮助
with adoquery1 do
begin
locate('字段名',edit1.text,[]);
end;
只要数据集定位到一条记录,dbedit自然会显示相应的记录
也就是说
locate(定位)到那条记录,dbedit自然会显示相应的记录