怎么样把access 里的数据和delphi连接,能不能给出源代码??谢谢!!!
比如一个db1.mdb里有一个ry_jbxx的表,表里面有ID、LJ_id、xm等字段,现在我想通过delphi把这些字段的内容显示出来,请问应该怎么做,请给出源代码,多谢了。
比如一个db1.mdb里有一个ry_jbxx的表,表里面有ID、LJ_id、xm等字段,现在我想通过delphi把这些字段的内容显示出来,请问应该怎么做,请给出源代码,多谢了。
解决方案 »
- 英巴卡迪诺是个什么公司?
- FastReport3.0.7动态报表问题
- 请教大家一个关于数据库、StringGrid显示小数位的问题。。。
- 如何不让ComboBox的编辑框部分不起作用
- 数据库查询出错,请各位帮帮忙
- 欢迎光临:http://www.code114.net
- 求InfoPower3000-For Delphi 7!!!!!
- ****** HELP **************
- 怎样跳出for循环??
- 请问大家,前段时间炒的很厉害的DELPHI6中文版有下载了吗?在各位的当地有盗版卖了吗?
- 求助高手,如何把数据库的查询结果输出 成为报表怎么实现?(就20分,全送给你)
- FR报表分栏后显示错位如何解决? 急等大虾出手相助
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\hmily\My Documents\db1.mdb;Persist Security Info=False';
ADOConnection1.KeepConnection:=True;
ADOConnection1.LoginPrompt:=false; ADOTable1.Connection:=ADOConnection1;
ADOTable1.TableName:='ry_jbxx';
ADOTable1.Active:=True; DataSource1.DataSet:=ADOTable1; DBGrid1.DataSource:=DataSource1;end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure FormShow(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormShow(Sender: TObject);
beginwith ADOConnection1 do
beginConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\我的文档\db1.mdb;Persist Security Info=False'; {把库文件设成自己的}
KeepConnection := True;
LoginPrompt := False;
end;with ADOQuery1 do
begin
close;
Connection := ADOConnection1;SQL.Text := 'select * from [User]'; {这里改成你自己的select语句就好}Open;
end;DataSource1.DataSet := ADOQuery1;DBGrid1.DataSource := DataSource1;end;
end.
adoconnection ConnectionString怎么写啊
直接用ODBC连接,然后select不就行了?
先在ODBC里添加一个数据源
////////////////////////////////////
var
FlashForm: TFlashForm;
path:string;
MyInifile:TINIFILE;
DATA_SOURCE,DBQ,Initial_catalog:string;
begin
Application.Initialize;
FlashForm:=TFlashForm.Create(application);
FlashForm.Show;
FlashForm.Update; Application.CreateForm(TDataMo, DataMo);
path:=ExtractFilePath(Application.ExeName);
MyInifile:= TIniFile.Create(path+'app.ini');
DBQ:='Provider=MSDASQL.1;Password="";Persist Security Info=True;';
DATA_SOURCE:='DATA SOURCE='+MyInifile.ReadString('DATABASE','DATA_SOURCE','')+';';
Initial_catalog:='Initial Catalog='+path+'data\'+MyInifile.ReadString('DATABASE','DATA_SOURCE','')+';' ;
DataMo.ADOConnect.Connected;
DataMo.ADOConnect.Close ;
DataMo.ADOConnect.ConnectionString:=dbq+DATA_SOURCE+initial_catalog;
DataMo.ADOConnect.DefaultDatabase:=path+'data\'+MyInifile.ReadString('DATABASE','DATA_SOURCE','');
//showmessage(DataMo.ADOConnect.ConnectionString);
FlashForm.close;
FlashForm.Free;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.dephi6+oracle817 ado
///////////////////////////////
var
SendData: tagCOPYDATASTRUCT;
password,USER_ID:STRING;
Provider,DATA_SOURCE,SECURITY_INFO:STRING;
MyInifile:Tinifile;
{$R *.res}begin
//-----------------------判断程序是否第一次运行--------------------
if FindWindow('TMainForm', nil) > 0 then
begin
with SendData do
begin
dwData := 0; // may use a value do identify content of message
cbData := SizeOf(PChar(ParamStr(1))) + 1; //Need to transfer terminating #0 as well
lpData := PChar(ParamStr(1))
end;
SendMessage(FindWindow('TMainForm', nil), WM_CopyData, 0, integer(@SendData));
application.MessageBox('程序已经运行!','系统提示',16);
//-----------------------------------------------------------------
end else
begin
FlashForm:=TFlashForm.Create(application);
FlashForm.Show;
FlashForm.Update;
Application.Initialize;
Application.Title := '初始化辅助工具';
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TDataM, DataM);
//------------------- 数据库参数初始化-----------------------------
path:=ExtractFilePath(Application.ExeName);
MyInifile:= TIniFile.Create(path+'INITTOOLs.ini');
PROVIDER:='PROVIDER='+MyInifile.ReadString('DATABASE','PROVIDER','')+';';
password:='Password=manager'+';';
USER_ID:='User ID=SYSTEM;';
DATA_SOURCE:='DATA SOURCE='+MyInifile.ReadString('DATABASE','DATA_SOURCE','')+';';
SECURITY_INFO:='Persist Security Info=True';
DataM.ADOConnection1.Connected;
DataM.ADOConnection1.Close ;
DataM.ADOConnection1.ConnectionString:=PROVIDER+Password+USER_ID+DATA_SOURCE+SECURITY_INFO;
//-----------------------------------------------------------------
TRY
if DataM.ADOConnection1.Connected<>TRUE then
DataM.ADOConnection1.Connected:=true;
EXCEPT
APPLICATION.MessageBox('不能连接上ORALCE!可能原因:'+#13+' 1.检查网络是否连接正确'+#13+' 2.检查ORACLE客户端配置'+#13+'请联络系统管理员!','系统提示',16);
application.Terminate;
end;
FlashForm.hide;
FlashForm.Free;
Application.Run;
end;
end.
直接在ADOTABLE中设置connecttionstring不就行了!
要显示单独的安段,就写个select 字段名 from 表名
不就OK啦!
connectionstring属性可以不用手写的!双击ADOConnection1弹出,选“build”,然后在“提供程序”中选择相应的驱动,然后在“连接”中填好数据库、登录用户等信息即可。
unit sysPublc;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Inifiles,DB,ADODB;CONST
MAINDB='data.mdb';
DBPATH='data';
var
MyIniFile:TInifile;
DataSet:string;
Function ReadIni(IniName,segment,lname:string):string;
//文件名 段名 小节名
Function WriteIni(IniName,segment,lname,lvle:string):Boolean;
//文件名 段名 小节名 值
Function LinkData:Boolean;
Function GetExeDir:string;
Function GetData:string;
Function FromADOConngetDada(sign,str:string;time:integer):string;
//查找的字符 选择的字串 循环的次数implementationuses DataModule, MainForm;Function WriteIni(IniName,segment,lname,lvle:string):Boolean;
begin
result:=true;
try
MyIniFile.WriteString(segment,lname,lvle);
MyIniFile.Destroy;
Except
showmessage('存储INI文件时出错!');
result:=false;
end;
end;Function ReadIni(IniName,segment,lname:string):string;
varlIniName:string;
a:string;
begin
try
lIniName:=ExtractFilePath(paramstr(0))+IniName;
MyIniFile:=TInifile.Create(lIniName);
a:=MyIniFile.ReadString(segment,lname,'');
result:=a;
Except
showmessage('读取INI文件时出错');
end;
end;
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ;Persist Security Info=FalseFunction GetExeDir:string;
var
s,s1:string;
begin
s:=application.ExeName;
s1:='';
while pos('\',s)<>0 do
begin
s1:=s1+copy(s,0,pos('\',s));
s:=copy(s,pos('\',s)+1,length(s));
end;
result:=s1;
end;Function GetData:string;
begin
result:=GetExeDir+DBPATH+'\'+MAINDB;
end;Function LinkData:Boolean;
var
IniVle,DataPath:string;
openDL:TOpenDialog;
begin
IniVle:=ReadIni('text.ini','data','dataVle');
result:=true;
Try
DM.ADOConn.Connected:=false;
if IniVle<>'' then
begin
showmessage('能过INI');
DM.ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
IniVle + ';Persist Security Info=False' ;
end
else
begin
showmessage('能过相对路径');
DM.ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
GetData+ ';Persist Security Info=False';
end;
DataSet:=DM.ADOConn.ConnectionString ;
DM.ADOConn.ConnectionTimeout:=10;
DM.ADOConn.Connected:=true;showmessage('数据库连接成功');
except
if Application.MessageBox('连接数据库出错,是否重新连接数据库','数据库连接错误',mb_okcancel)=idok then
begin
openDL:=TOpenDialog.Create(nil);
with openDL do
begin
Filter:='数据库文件(*.mdb)|*.mdb';
InitialDir:=ExtractFileDir(Application.ExeName);
end;
if not openDL.Execute then Exit;
DataPath:=openDL.FileName;
DM.ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
DataPath+ ';Persist Security Info=False';
DataSet:=DM.ADOConn.ConnectionString ;
DataSet:=DM.ADOConn.ConnectionString ;
DM.ADOConn.ConnectionTimeout:=10;
DM.ADOConn.Connected:=true;
end;
end;
end;Function FromADOConngetDada(sign,str:string;time:integer):string;
var
s,s1:string;
j:integer;
begin
j:=0;
s1:='';
result:='';
s:=str+sign;
//showmessage(s);
try
while (pos(sign,s)<>0) and (j<>time) do
begin
s1:=copy(s,0,pos(sign,s)-1);
s:=copy(s,pos(sign,s)+1,length(s));
j:=j+1;
end;
result:=s1;
except
showmessage('没有需要查找的字符串');
result:='';
end;
end;
end.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------unit DataModule;interfaceuses
SysUtils, Classes, Windows, Messages, Variants,
Graphics, Controls, Forms, Dialogs, DB, ADODB;type
TDM = class(TDataModule)
ADOConn: TADOConnection;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
DM: TDM;implementationuses sysPublc, MainForm;{$R *.dfm}procedure TDM.DataModuleCreate(Sender: TObject);
beginLinkData;
end;procedure TDM.DataModuleDestroy(Sender: TObject);
var
s:string;
begin
s:=FromADOConngetDada('=',FromADOConngetDada(';',DataSet,2),2);
WriteIni('test','data','dataVle',s)
end;end.
---------------------------------------------------------------------------------