在delphi中能不能象VB中使用
dim Con as new adodb.connection
dim Rs as new adodb.recordset
这样的语句定义数据库连接和数据库的查询结果集呢?如果有的话,该怎么做呢,最好能有详细的操作步骤.如果没有的话,怎么才能做到界面元素与数据库操作的完全分离呢?就是说,在界面单元代码部分里,看不到任何和数据库有关的操作,包括sql语句,字段名称什么的。如果可以实现完全分离,那么应该怎么做呢?可以有个简单的例子源码吗?
dim Con as new adodb.connection
dim Rs as new adodb.recordset
这样的语句定义数据库连接和数据库的查询结果集呢?如果有的话,该怎么做呢,最好能有详细的操作步骤.如果没有的话,怎么才能做到界面元素与数据库操作的完全分离呢?就是说,在界面单元代码部分里,看不到任何和数据库有关的操作,包括sql语句,字段名称什么的。如果可以实现完全分离,那么应该怎么做呢?可以有个简单的例子源码吗?
解决方案 »
- 请教FileSizeByName要引用哪些文件
- 寻delphi数据库类朋友
- ★100分求IdTCPServer和IdTCPClient 的双向发送的代码?
- delphi的db数据库路径设置
- 我在用win2000进行Delphi三层开发,原来用Administrator,后来要求换个名称,所装的Delphi控年不见了!!!
- 关于delphi 7 数据库引擎BDE的一个问题?
- 关于dbgrideh的简单问题!请帮忙!
- 这条语句Result := NextHook <> 0是什么意思?
- Agent控件的用法,向各位高手求教!
- 在Delphi的数据库编程中如何对Graphic数据类型赋值
- 用Delphi 从 WebBrowser 宿主内的 Window.Open 方法获取宽度和高度?
- socket向服务器传送一个大概10K足有的文件....
procedure TForm1.Button1Click(Sender: TObject);
var
adoset: Variant;
x:string;
begin
adoset := CreateOleObject('ADODB.RecordSet');
adoset.Open('SELECT * FROM test','Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=E:\temp\db1.mdb;Persist Security Info=True');
x:=adoset.Fields[0];
ShowMessage(x);
adoset := Unassigned;
end;
//不过,一般没必要这样做,要使界面与查询分开,很简单,只要建一个UTIT(无界面的),将查询放在里面就可以了如:
unit test;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, DB, ADODB;implementation
procddure test;
var
mysql:TADOQuery;
begin
mysql:=TADOQuery.create;
mysql.connectstring:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source:=E:\temp\db1.mdb;Persist Security Info=True'
mysql.sql.text:='select * from test';
mysql.open;
...
end;
end.
var ADOConnection1:TADOConnection;
DataSource1:TDataSource;
ADOQuery1:TADOQuery;
begin
ADOConnection1 := TADOConnection.Create(nil);
DataSource1 := TDataSource.Create(nil);
ADOQuery1 := TADOQuery.Create(nil);
with ADOConnection1 do
begin
Connected := False;
LoginPrompt := False;
ConnectionString := 'Provider=MicroSoft.Jet.OLEDB.4.0;' +
'Data Source=C:\db1.mdb;' +
'Persist Security Info=False';
Connected := True;
end;
DataSource1.DataSet := ADOQuery1;
with ADOQuery1 do
begin
Close;
Connection := ADOConnection1;
SQL.Text := 'select * from test';
Open;
end;
Result:=DataSource1;
end;end.前台代码:
uses Unit2;procedure TForm1.Button1Click(Sender: TObject);
begin
DBGrid1.DataSource:=f;
end;
效率一样的。