uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Registry, Des, DB, ADODB, RzTabs, AdvGlowButton, DBGridEhGrouping, GridsEh, DBGridEh, RzPanel,DBGridEhImpExp, ExtDlgs, Mask, RzEdit, RzButton, Diskid; //-------------------------------打开界面判断是否连接------------ procedure TFRMMAIN.FormShow(Sender: TObject); var MyReg : TRegistry; constr, FWQMC, SJKMC, YHMC, YHMM: string; begin EDTSERVER.Enabled:=false;//服务器名称 EDTDATA.Enabled:=false;//数据库名称 EDTUSER.Enabled:=false;//sql用户 EDTPSW.Enabled:=false;//密码 MyReg:=TRegistry.Create; MyReg.RootKey:=HKEY_LOCAL_MACHINE; if MyReg.OpenKey('\SOFTWARE\SW\SWDB', false) then begin if MyReg.ValueExists('connectstr') then begin constr:=MyReg.ReadString('ConnectStr'); FWQMC:=MyReg.ReadString('Server'); SJKMC:=MyReg.ReadString('DataBase'); YHMC:=MyReg.ReadString('User'); YHMM:=MyReg.ReadString('PassWord'); EDTSERVER.Text:=DecryStrHex(FWQMC,'※★'); EDTDATA.text:=DECRYSTRHEX(SJKMC,'※★'); EDTUSER.text:=DECRYSTRHEX(YHMC,'※★'); EDTPSW.text:=DECRYSTRHEX(YHMM,'※★'); end; end; AConnt.Close; constr := 'Provider=SQLOLEDB;Password=' + trim(EDTPSW.Text) + ';Persist Security Info=True;User ID=' + trim(EDTUSER.Text) + ';Initial Catalog=' + trim(EDTDATA.Text) + ';Data Source=' + trim(EDTSERVER.Text); AConnt.ConnectionString := constr; try AConnt.Open; //Application.MessageBox('数据库连接成功!', '提示', 0); except Application.MessageBox('数据库连接失败!', '提示', mb_iconerror + mb_ok); end; AConnt.Close; end; //-------------------------------测试数据库连接-------------------- procedure TFRMMAIN.BTNTESTClick(Sender: TObject); var ss,s1,s2,s3,s4: string; begin s1:=Trim(EDTSERVER.text); s2:=Trim(EDTDATA.text); s3:=Trim(EDTUSER.text); s4:=Trim(EDTPSW.text); ss := 'Provider=SQLOLEDB;Password=' + s4 + ';Persist Security Info=True;User ID=' + s3 + ';Initial Catalog=' + s2 + ';Data Source=' + s1; try AConnt.Close; AConnt.ConnectionString := ss; AConnt.Open; Application.MessageBox('数据库连接成功!', '提示', 0); except Application.MessageBox('数据库连接失败,请重新配置!', '提示', mb_iconerror + mb_ok); exit; end; end; //-----------------------------修改数据库配置------------------------------------------ procedure TFRMMAIN.BTNBCClick(Sender: TObject); var MyReg: TRegistry; sw,ssbl,ssba,sshs,FWQMC,SJKMC,YHMC,YHMM: string; begin sw := 'Provider=SQLOLEDB;Password=' + trim(EDTPSW.Text) + ';Persist Security Info=True;User ID=' + trim(EDTUSER.Text) + ';Initial Catalog=' + trim(EDTDATA.Text) + ';Data Source=' + trim(EDTSERVER.Text); sw := EncryStrHex(sw, '※★'); FWQMC := EncryStrHex(TRIM(EDTSERVER.Text), '※★'); SJKMC := EncryStrHex(TRIM(EDTDATA.Text), '※★'); YHMC := EncryStrHex(TRIM(EDTUSER.Text), '※★'); YHMM := EncryStrHex(TRIM(EDTPSW.Text), '※★'); MyReg := TRegistry.Create; MyReg.RootKey := HKEY_LOCAL_MACHINE; if MyReg.OpenKey('\SOFTWARE\SW\SWDB', true) then begin MyReg.WriteString('ConnectStr', sw); MyReg.WriteString('SERVER', FWQMC); MyReg.WriteString('DATABASE', SJKMC); MyReg.WriteString('USER', YHMC); MyReg.WriteString('PASSWORD', YHMM); end; MyReg.Free; Application.MessageBox('数据库设置已保存!-', '提示', 0); EDTSERVER.Enabled:=false; EDTDATA.Enabled:=false; EDTUSER.Enabled:=false; EDTPSW.Enabled:=false; end; //-------------------------保存配置好的数据库信息--------------------- procedure TFRMMAIN.BTNBCClick(Sender: TObject); var MyReg: TRegistry; sw,ssbl,ssba,sshs,FWQMC,SJKMC,YHMC,YHMM: string; begin sw := 'Provider=SQLOLEDB;Password=' + trim(EDTPSW.Text) + ';Persist Security Info=True;User ID=' + trim(EDTUSER.Text) + ';Initial Catalog=' + trim(EDTDATA.Text) + ';Data Source=' + trim(EDTSERVER.Text); sw := EncryStrHex(sw, '※★'); FWQMC := EncryStrHex(TRIM(EDTSERVER.Text), '※★'); SJKMC := EncryStrHex(TRIM(EDTDATA.Text), '※★'); YHMC := EncryStrHex(TRIM(EDTUSER.Text), '※★'); YHMM := EncryStrHex(TRIM(EDTPSW.Text), '※★'); MyReg := TRegistry.Create; MyReg.RootKey := HKEY_LOCAL_MACHINE; if MyReg.OpenKey('\SOFTWARE\SW\SWDB', true) then begin MyReg.WriteString('ConnectStr', sw); MyReg.WriteString('SERVER', FWQMC); MyReg.WriteString('DATABASE', SJKMC); MyReg.WriteString('USER', YHMC); MyReg.WriteString('PASSWORD', YHMM); end; MyReg.Free; Application.MessageBox('数据库设置已保存!-', '提示', 0); EDTSERVER.Enabled:=false; EDTDATA.Enabled:=false; EDTUSER.Enabled:=false; EDTPSW.Enabled:=false; end;