窗体控件属性设置: object Form1: TForm1 Left = 192 Top = 107 Width = 696 Height = 480 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 609 Height = 337 DataSource = DataSource1 TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'MS Sans Serif' TitleFont.Style = [] end object ADOTable1: TADOTable Active = True ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\MyDownLoads(麦当' + '劳)\Borland Delphi 6\Common\Borland Shared\Data\dbdemos.mdb;Pers' + 'ist Security Info=False' CursorType = ctStatic TableName = 'employee' Left = 448 Top = 200 end object DataSource1: TDataSource DataSet = ADOTable1 Left = 336 Top = 224 end end
可以动态的连接的, connstr:='Provider=Microsoft.Jet.OLEDB.4.0;data Source='+extractfilepath(application.exename)+'yh.mdb'; //建立Connection conn:=CreateOleObject('ADODB.Connection'); //打开连接 conn.open(connstr); rs:=CreateOleObject('ADODB.Recordset'); rs.open('select * from tuser order by userid',conn,1,1); if not rs.eof then 这就不用ADO啊,不过你可以动态创建ADO控件啊, Query:=TADOQuery.create(self); 用这个就行了,不用消费了这么多的内存
举个简单例子吧,用query组件
在窗体上加一个query,名称为query1,加一个datasource名称为datasoource1,加一个dbgrid名称为dbgrid1
属性设置:
把datasource的dataset属性设为query1
把dbgrid的datasource属性设为datasource1
query1的sql属性设为select * from 表名;
把query1的active属性设为true(这个属性也可以通过窗体的formcrate过程来实现加一个语句为:query1.active:=true;)
这样就OK咯,
当然方法还有,显示的也可以用listview组件
然后的操作可以借鉴楼上所说的。
最好还是看看书,理解会更透彻。
在table的属性中写上“SELECT * FROM Table1 WHERE ....”
你把你的dbgrid的datasource设置为datasource1
table1.acticve:=True这样就可以显示数据了
这样就可以显示数据了 但是推荐用adoquery
BDE,ADO,DBEXPRESS,
ODBC可用可不用
在表单上显示数据库需要如下东东:数据源+表+数据感应控件
数据源:AdoConnection
表:AdoTable,AdoQuery.....
数据感应控件:dbgrid,dbedit,dbtext.....
object Form1: TForm1
Left = 192
Top = 107
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 0
Top = 0
Width = 609
Height = 337
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object ADOTable1: TADOTable
Active = True
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\MyDownLoads(麦当' +
'劳)\Borland Delphi 6\Common\Borland Shared\Data\dbdemos.mdb;Pers' +
'ist Security Info=False'
CursorType = ctStatic
TableName = 'employee'
Left = 448
Top = 200
end
object DataSource1: TDataSource
DataSet = ADOTable1
Left = 336
Top = 224
end
end
connstr:='Provider=Microsoft.Jet.OLEDB.4.0;data Source='+extractfilepath(application.exename)+'yh.mdb';
//建立Connection
conn:=CreateOleObject('ADODB.Connection');
//打开连接
conn.open(connstr);
rs:=CreateOleObject('ADODB.Recordset');
rs.open('select * from tuser order by userid',conn,1,1);
if not rs.eof then
这就不用ADO啊,不过你可以动态创建ADO控件啊,
Query:=TADOQuery.create(self);
用这个就行了,不用消费了这么多的内存
或使用ado连接.
改一改Demo那个就可以了
这么简单看书了,完全没看书就来问
g_path:=path+'\db1.mdb';
ADOConnection1.close;
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='''+g_path+''';Persist Security Info=False';
ADOConnection1.Open ;
ADOConnection1.Connected :=true;
這樣就可以連接上access dble
学到好多东西。。
不过。。
我觉得用ADO挺方便的
前两天看了个朋友信息管理系统的例子。
很快就了解了ADO与ACCESS的连接
书名叫:DELPHI7项目开发实践
建议去看看
又个问题。
我用ACCESS做了test.mdb,并输入数据后。
再回到DELPHI中,将QUERY1。TSTRING设置为select * from test;
再将QUERY1的ACTIVE设置为TRUE时。。系统提示找不到test.db。
我晕。。
后来我随便找了个。DB文件到PROJECTS目录下。
就通过了。。咋回事。。?