📄 uchangedb.pas
字号:
unit uchangedb;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Base, StdCtrls, ExtCtrls, Grids, DBGridEh, DB, DBClient;
type
Tfrmchangedb = class(TfrmBase)
Image1: TImage;
DBGridEh1: TDBGridEh;
Bevel1: TBevel;
btnok: TButton;
btnexit: TButton;
dsqmaster: TDataSource;
Label2: TLabel;
usercode: TEdit;
Label3: TLabel;
password: TEdit;
CDSadb: TClientDataSet;
CDSadbaccountname: TWideStringField;
CDSadbdatabasename: TWideStringField;
CDSadbremark: TWideStringField;
CDSadbfid: TIntegerField;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnexitClick(Sender: TObject);
procedure btnokClick(Sender: TObject);
procedure CDSadbAfterScroll(DataSet: TDataSet);
private
procedure refenceDatabase;
{ Private declarations }
public
{ Public declarations }
end;
var
frmchangedb: Tfrmchangedb;
implementation
uses Data, Global, main;
{$R *.dfm}
procedure Tfrmchangedb.FormCreate(Sender: TObject);
begin
inherited;
password.Text:='';
usercode.Text:='';
usercode.Text:=gs_Usercode;
image1.Picture.LoadFromFile(Extractfilepath(Application.ExeName)+'picture\system\Hxtitle.jpg');
end;
procedure Tfrmchangedb.refenceDatabase;
begin
with datam.adoqmaster do
begin
close;
sql.Clear;
sql.Add('Use Master');
sql.add(' Select * from [Master]..creativejxc order by fid');
open;
end;
With CDSadb do
begin
Close;
FieldDefs.Add('fid',ftinteger,0);
FieldDefs.Add('accountname',ftwideString,30);
FieldDefs.Add('databasename',ftwideString,20);
FieldDefs.Add('remark',ftwideString,60);
Createdataset;
end;
datam.adoqmaster.First;
while not Datam.adoqmaster.Eof do
begin
with datam.adoqmaster do
begin
CDSadb.AppendRecord([fieldbyname('fid').AsInteger,
fieldbyname('accountname').asString,
fieldbyname('databasename').asstring,
fieldbyname('remark').asString]);
end;
datam.adoqmaster.Next;
end;
end;
procedure Tfrmchangedb.FormShow(Sender: TObject);
begin
inherited;
refenceDatabase;
end;
procedure Tfrmchangedb.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmchangedb:=nil;
end;
procedure Tfrmchangedb.btnexitClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure Tfrmchangedb.btnokClick(Sender: TObject);
begin
inherited;
if (AccountName='') or (Datam.adoqmaster.RecordCount=0) then
begin
Messagedlg('请先指定一个帐套名称 !',mtWarning,[mbok],0);
Exit;
end;
if (length(trim(usercode.Text))=0) then
begin
Messagedlg('用户名称不能为空 !',mtWarning,[mbok],0);
Exit;
end;
if (length(trim(password.Text))=0) then
begin
Messagedlg('密码不能为空 !',mtWarning,[mbok],0);
Exit;
end;
try
With Datam.adoqmasters do
begin
close;
sql.Clear;
sql.Add('Use '+AccountName);
ExecSql;
end;
except
on E:Exception do
begin
messagedlg(pchar(AccountName+'数据库不存在或是SQL SERVER 没有启动 ! '),mtError,[mbok],0);
Exit;
end;
end;
with datam.adoqlogin do
begin
close;
sql.Clear;
sql.Add('select * from tuser where fcode=:fcode');
parameters.ParamValues['fcode']:=Trim(usercode.Text);
open;
end;
if uppercase(Trim(datam.adoqlogin.FieldByName('fpwd').AsString))=
uppercase(Trim(Password.Text)) then
begin
gs_userid:=datam.adoQlogin.fieldbyname('fid').AsInteger;
gs_usercode:=datam.adoQlogin.fieldbyname('fcode').AsString;
gs_username:=datam.adoQlogin.fieldbyname('fname').AsString;
gs_password:=Trim(password.Text);
gs_admin:=datam.adoQlogin.fieldbyname('fadmin').AsBoolean;
frmmain.StatusBar.Panels[0].Text:=SystemName;
frmmain.StatusBar.Panels[1].Text:='当前用户 : '+gs_username;
frmmain.StatusBar.Panels[2].Text:='当前使用帐套 : '+AccountName;
p_writeMainini('login','UserCode',gs_UserCode);
gs_ISadoconnect(Createadoconn(AccountName));
close;
end
else
begin
messagedlg('当前密码错误 , 请输入正确的用户名 ! ',mtError,[mbok],0);
password.Text:='';
password.SetFocus();
end;
end;
procedure Tfrmchangedb.CDSadbAfterScroll(DataSet: TDataSet);
begin
inherited;
AccountName:='';
AccountName:=CDSadb.fieldbyname('accountName').AsString;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -