stockdatamodel.~pas
来自「Barcode And LabelPrint」· ~PAS 代码 · 共 105 行
~PAS
105 行
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; //数据库密码
dataserver: string; //数据库所在路径
s_con: string; //数据连接串
begin
{ACCESS2000缺省打开时是以独占方式打开,当access在用时,其它程序自然就不能使用了。只要你想在access直接修改、删除记录,那必定是以独占方式打开的,这是access的先天缺陷.
adoconnection.mode=readonly; //这样才能让多个程序同时连接到access
修改的时候:
将TAdoTable 或TAdoQuery改为CacheUpdates设置为true,再用事务提交的办法。
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); //获取当前目录
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 + '请检查,或与服务人员联系'), '连接失败', MB_ICONSTOP);
halt;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?