?? stockdatamodel.~pas
字號:
unit StockDataModel;
interface
uses
SysUtils, Classes, Forms, DB, ADODB, Windows, RpBase, RpSystem, RpRave,
RpDefine, RpCon, RpConDS;
type
TStockDM = class(TDataModule)
ADOConn: TADOConnection;
QUser: TADOQuery;
QCustomer: TADOQuery;
QOut: TADOQuery;
DSBarCodefind: TDataSource;
QBarCodefind: TADOQuery;
ADOConnBarCodeTemp: TADOConnection;
QBarCode: TADOQuery;
DSBarCode: TDataSource;
QOrders: TADOQuery;
DSOrders: TDataSource;
QGBarCode: TADOQuery;
DSGBarCode: TDataSource;
QSQLBarCode: TADOQuery;
DSSQLBarCode: TDataSource;
QBarCodeQuery: TADOQuery;
DSBarCodeQuery: TDataSource;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
StockDM: TStockDM;
implementation
uses PublicParameter, ProSeriseMan;
{$R *.dfm}
procedure TStockDM.DataModuleCreate(Sender: TObject);
var
username: string; //用戶名
userpass: string; //用戶密碼
datapass: string; //數(shù)據(jù)庫密碼
dataserver: string; //數(shù)據(jù)庫所在路徑
s_con: string; //數(shù)據(jù)連接串
begin
{ACCESS2000缺省打開時是以獨(dú)占方式打開,當(dāng)access在用時,其它程序自然就不能使用了。只要你想在access直接修改、刪除記錄,那必定是以獨(dú)占方式打開的,這是access的先天缺陷.
adoconnection.mode=readonly; //這樣才能讓多個程序同時連接到access
修改的時候:
將TAdoTable 或TAdoQuery改為CacheUpdates設(shè)置為true,再用事務(wù)提交的辦法。
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;
Data Source=D:\出庫入庫管理\BarCodeTemp.mdb;
Mode=ReadWrite;Extended Properties="";
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False}
CurPath := ExtractFileDir(Application.ExeName); //獲取當(dāng)前目錄
dataserver := CurPath + '\BarCodeTemp.mdb'; //'\GBInvioceDBTrain.mdb';
//datapass := '999999';
username := '';
userpass := '';
s_con := 'Provider=Microsoft.Jet.OLEDB.4.0;';
s_con := s_con + 'Data Source=' + dataserver + ';Mode=ReadWrite;';
if username <> '' then
s_con := s_con + 'User ID=' + username + ';';
if userpass <> '' then
s_con := s_con + 'Password=' + userpass + ';';
if datapass <> '' then
s_con := s_con + 'Jet OLEDB:Database Password=' + datapass + ';';
s_con := s_con + 'Persist Security Info=True';
if ADOConnBarCodeTemp.Connected = true then ADOConnBarCodeTemp.Connected := false;
ADOConnBarCodeTemp.ConnectionString := s_con;
ADOConnBarCodeTemp.provider := 'Microsoft.Jet.OLEDB.4.0';
try
ADOConnBarCodeTemp.open;
//showmessage('ok');
except
on e: exception do
begin
MessageBox(0, pchar(e.Message + '請檢查,或與服務(wù)人員聯(lián)系'), '連接失敗', MB_ICONSTOP);
halt;
end;
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -