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 + -
显示快捷键?