帮助新手,他会永记在心(关于数据库的连接)!!!(50分)

  • 主题发起人 主题发起人 原人
  • 开始时间 开始时间

原人

Unregistered / Unconfirmed
GUEST, unregistred user!
各位好,小子在这里有礼了!
在打开access数据库时,在database控件的params属性中已设好数据库的用户和口令;
但在table控件的tablename中输入确认后得到提示:无效的配置参数。
请问各位大虾是何道理???
谢了!!!!!!!!!!!
 
一般access的密码为空吧,用ADO连接,方便得多.
 
Access不要设密码。
 
可我将access的密码去掉后也不行呀;
AKing大哥,我这里极其缺乏相关教材,具体用ado怎么做呀,好事做到底吧!!!
 
呵呵这位大虾table控件有没有和database取得联系??????
 
这段行吧。


unit BaseDataModule;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB;

type
TDataModuleBase = class(TDataModule)
ADOTableClientInfo: TADOTable;
ADOTableVictualerInfo: TADOTable;
ADOTableVictualerInfoDSDesigner: TWideStringField;
ADOTableVictualerInfoDSDesigner2: TWideStringField;
ADOTableVictualerInfoDSDesigner3: TWideStringField;
ADOTableVictualerInfoDSDesigner4: TWideStringField;
ADOTableVictualerInfoDSDesigner5: TWideStringField;
ADOTableVictualerInfoDSDesigner6: TWideStringField;
ADOTableVictualerInfoDSDesigner7: TWideStringField;
ADOTableVictualerInfoDSDesigner8: TWideStringField;
ADOTableVictualerInfoDSDesigner9: TMemoField;
ADOTableClientInfoDSDesigner: TWideStringField;
ADOTableClientInfoDSDesigner2: TWideStringField;
ADOTableClientInfoDSDesigner3: TWideStringField;
ADOTableClientInfoDSDesigner4: TWideStringField;
ADOTableClientInfoDSDesigner5: TWideStringField;
ADOTableClientInfoDSDesigner6: TWideStringField;
ADOTableClientInfoDSDesigner7: TWideStringField;
ADOTableClientInfoDSDesigner8: TWideStringField;
ADOTableClientInfoDSDesigner9: TWideStringField;
ADOTableClientInfoEMAIL: TWideStringField;
ADOTableClientInfoDSDesigner10: TWideStringField;
ADOTableClientInfoDSDesigner11: TWideStringField;
ADOTableClientInfoDSDesigner12: TWideStringField;
ADOTableClientInfoDSDesigner13: TMemoField;
ADOTableVictualerLinkMan: TADOTable;
DataSourceVictualerInfo: TDataSource;
ADOConnectionBase: TADOConnection;
ADOTableSelfClass: TADOTable;
ADOTableSelfClassDSDesigner: TWideStringField;
ADOTableSelfClassDSDesigner2: TWideStringField;
ADOTableISBNClass: TADOTable;
ADOTableISBNClassISBN: TWideStringField;
ADOTableISBNClassISBN2: TWideStringField;
ADOTableBookInfo: TADOTable;
ADOConnectionop: TADOConnection;
ADOTablePublish: TADOTable;
ADOTablePublishDSDesigner: TWideStringField;
ADOTablePublishDSDesigner2: TWideStringField;
ADOTablePublishDSDesigner3: TWideStringField;
ADOTablePublishDSDesigner4: TWideStringField;
ADOTableVictualerLinkManDSDesigner: TWideStringField;
ADOTableVictualerLinkManDSDesigner2: TWideStringField;
ADOTableVictualerLinkManDSDesigner3: TWideStringField;
ADOTableVictualerLinkManDSDesigner4: TWideStringField;
ADOTableVictualerLinkManDSDesigner5: TWideStringField;
ADOTableVictualerLinkManDSDesigner6: TWideStringField;
ADOTableVictualerLinkManEMAIL: TWideStringField;
ADOTableSailClass: TADOTable;
ADOTableSailClassDSDesigner: TWideStringField;
ADOTableSailClassDSDesigner2: TWideStringField;
ADOTableBookInfoDSDesigner: TWideStringField;
ADOTableBookInfoDSDesigner2: TWideStringField;
ADOTableBookInfoDSDesigner4: TWideStringField;
ADOTableBookInfoDSDesigner6: TWideStringField;
ADOTableBookInfoDSDesigner7: TWideStringField;
ADOTableBookInfoDSDesigner8: TBCDField;
ADOTableBookInfoDSDesigner9: TWideStringField;
ADOTableBookInfoDSDesigner10: TSmallintField;
ADOTableBookInfoDSDesigner12: TWideStringField;
ADOTableBookInfoDSDesigner13: TWideStringField;
ADOTableBookInfoDSDesigner14: TWideStringField;
ADOTableBookInfoISBN: TWideStringField;
ADOTableBookInfoDSDesigner15: TWideStringField;
ADOTableBookInfoDSDesigner16: TWideStringField;
ADOTableBookInfoDSDesigner17: TMemoField;
ADOTableBookInfoDSDesigner18: TWideStringField;
ADOTableStorage: TADOTable;
ADOTableStorageDSDesigner: TWideStringField;
ADOTableStorageDSDesigner2: TWideStringField;
ADOTableBookInfoDSDesigner3: TWideStringField;
ADOTableStock: TADOTable;
ADOTableOp: TADOTable;
ADOTablePotence: TADOTable;
DataSourceOp: TDataSource;
ADOTableOpDSDesigner: TWideStringField;
ADOTableOpDSDesigner2: TWideStringField;
ADOTableOpDSDesigner3: TWideStringField;
ADOTableOpDSDesigner4: TWideStringField;
ADOTablePotenceDSDesigner2: TWideStringField;
ADOTablePotenceDSDesigner3: TBooleanField;
ADOTablePotenceDSDesigner4: TBooleanField;
ADOTablePotenceDSDesigner5: TBooleanField;
ADOTablePotenceDSDesigner: TWideStringField;
ADOTableBookInfoShow: TBooleanField;
ADOTableBookInfoDSDesigner19: TWideStringField;
ADOTableBookInfoDSDesigner5: TWideStringField;
ADOTableBookInfoDSDesigner11: TWideStringField;
ADOTableFDJL: TADOTable;
ADOTableStockDSDesigner: TWideStringField;
ADOTableStockDSDesigner2: TWideStringField;
ADOTableStockDSDesigner3: TIntegerField;
ADOTableFDJLDSDesigner: TWideStringField;
ADOTableFDJLDSDesigner2: TWideStringField;
ADOTableFDJLDSDesigner3: TWideStringField;
ADOTableFDJLDSDesigner4: TWideStringField;
ADOTableFDJLDSDesigner5: TWideStringField;
ADOTableFDJLDSDesigner6: TWideStringField;
ADOTableFDJLDSDesigner7: TWideStringField;
ADOTableFDJLDSDesigner8: TWideStringField;
ADOTableFDJLDSDesigner9: TWideStringField;
ADOTableFDJLDSDesigner10: TWideStringField;
ADOTableFDJLDSDesigner11: TWideStringField;
ADOTableFDJLDSDesigner12: TWideStringField;
ADOTableFDJLDSDesigner13: TMemoField;
procedure DataModuleCreate(Sender: TObject);
procedure ADOTablePostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
procedure SonADOTableAfterInsert(DataSet: TDataSet);
procedure SonADOTableBeforeInsert(DataSet: TDataSet);
procedure SonADOTableBeforePost(DataSet: TDataSet);
procedure SonADOTableAfterPost(DataSet: TDataSet);
procedure SonADOTableBeforeDelete(DataSet: TDataSet);
procedure SonBeforeDelete(DataSet: TDataSet);
procedure ADOTableAfterInsert(DataSet: TDataSet);
procedure ParentADOTableAfterUpdate(DataSet: TDataSet);
PROCEDURE ZheKouDisplay(Sender:TField;var Text:String;DisplayText:Boolean);
procedure ADOTableCalcFields(DataSet: TDataSet);
procedure ADOTableOpDSDesigner3GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure ADOTableBookInfoAfterInsert(DataSet: TDataSet);
procedure ADOTableStorageAfterInsert(DataSet: TDataSet);
private
oldValue,NewValue:integer;
OldStorage,newStorage:String;
{ Private declarations }
public
{ Public declarations }
Protected
procedure SonTableRequery(DataSet:TCustomADODataSet);virtual;
function IsIncreaseStock(DataSet:TDataSet):Boolean;virtual;
end;

var
DataModuleBase: TDataModuleBase;

implementation

uses UserGlobal;

{$R *.DFM}

procedure TDataModuleBase.DataModuleCreate(Sender: TObject);
var
i:integer;
begin
for I := ComponentCount - 1 downto 0 do
Begin
if Components is TADOConnection then
begin
try
(Components as TADOConnection).Open;
except
ShowMessage('数据库路径不对或被其他用户锁定!');
Halt(1);
end;
end;
if Components is TADOTable then
begin
// (Components As TADOTable).CacheSize:=10;
if not Assigned((Components as TCustomADODataSet).OnPostError) then
(Components as TADOTable).OnPostError:=ADOTablePostError;
if Assigned((Components as TADOTable).MasterSource) then
begin
if Assigned((Components as TADOTable).MasterSource.DataSet) then
begin
if Not Assigned((Components as TADOTable).BeforeDelete) then
(Components as TADOTable).BeforeDelete:=SonBeforeDelete;
if not Assigned((Components as TADOTable).AfterInsert) then
(Components as TADOTable).AfterInsert:=SonADOTableAfterInsert;
if not Assigned((Components as TADOTable).BeforeInsert) then
(Components as TADOTable).BeforeInsert:=SonADOTableBeforeInsert;
if Not Assigned((Components as TADOTable).MasterSource.DataSet.AfterPost) then
(Components as TADOTable).MasterSource.DataSet.AfterPost:=ParentADOTableAfterUpdate;
if Not Assigned((Components as TADOTable).MasterSource.DataSet.AfterDelete) then
(Components as TADOTable).MasterSource.DataSet.AfterDelete:=ParentADOTableAfterUpdate;
end;
end
else
if not Assigned((Components as TADOTable).AfterInsert) then
(Components as TADOTable).AfterInsert:=ADOTableAfterInsert;
end;
if (Components is TField) then
if (Components as TField).FieldName='折扣' then
(Components as TField).OnGetText:=ZheKouDisplay;
end;
ADOTableStock.Open;
end;
 
用ADOEXPRESS(ADO)的Tconnection控件(双击)后使用JET4.0然后选定ACCESS文件.
ADOTable1的CONNECTION指向CONNECTION1,然后使用DATASOUCE...根使用其他数据库一样
操作..
OK!

使用DIMAOND(DAO)更方便.
 
加入一个ADOconnection控件
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ filename +'XXXXX.mdb;Persist Security Info=False';
再加入一个ADODataset和Datasource.
ADODataset的connectionstring中加入:Provider=Microsoft.Jet.OLEDB.4.0;Data Source
=X:/XX/XXXXX.mdb;Persist Security Info=False
COMMANDTEXT属性你也可以按它的向导来搞。然后就。。。。
其它的就和普通的一样啦。嗯。
 
为了保密的原因,如果你使用了系统数据库的话,口令和用户名是肯定需要的。
如果你只是给数据库加个密码的话,直接用BDE或ADO连接是不需要提供密码的,
如果使用了ODBC的话,同样也要提供用户名和密码的。

 
多人接受答案了。
 

Similar threads

S
回复
0
查看
758
SUNSTONE的Delphi笔记
S
S
回复
0
查看
751
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部