📄 sqldata.pas
字号:
unit SqlData;
interface
uses
SysUtils, Classes, DB, Grobal2,ADODB;
const
ConnectStr='Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initial '+
'Catalog=%s;Data Source=%s;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LXH;Use Encryption for Data=False;Tag with column collation when possible=False';
type
TDataModule_ID = class(TDataModule)
ADOConnectionID: TADOConnection;
ADOQueryID: TADOQuery;
ADOStoredProc_ADDACCOUNT: TADOStoredProc;
ADOStoredProc_UpDate: TADOStoredProc;
ADOStoredProc_GETACCOUNT: TADOStoredProc;
private
{ Private declarations }
public
function Get(Name:String;var DBRecord: TAccountDBRecord):Boolean;
function UpDate( DBRecord: TAccountDBRecord):Boolean;
function Add( DBRecord: TAccountDBRecord):Boolean;
end;
var
DataModule_ID : TDataModule_ID;
implementation
{$R *.dfm}
{ TDataModule_ID }
function TDataModule_ID.Add(DBRecord: TAccountDBRecord): Boolean;
var
StrSql:String;
begin
Result:=False;
if not ADOConnectionID.Connected then Exit;
//ADOStoredProc_ADDACCOUNT.Connection:=ADOConnectionID;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@ACCOUNT').Value:=DBRecord.UserEntry.sAccount;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@PASSWORD').Value:=DBRecord.UserEntry.sPassword;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@USERNAME').Value:=DBRecord.UserEntry.sUserName;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@IDCARD').Value:=DBRecord.UserEntry.sSSNo;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@PHONENUMBER').Value:=DBRecord.UserEntry.sPhone;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@QUIZ1').Value:=DBRecord.UserEntry.sQuiz;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@ANSWER1').Value:=DBRecord.UserEntry.sAnswer;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@EMAIL').Value:=DBRecord.UserEntry.sEMail;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@QUIZ2').Value:=DBRecord.UserEntryAdd.sQuiz2;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@ANSWER2').Value:=DBRecord.UserEntryAdd.sAnswer2;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@BIRTHDAY').Value:=DBRecord.UserEntryAdd.sBirthDay;
ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@MOBILE').Value:=DBRecord.UserEntryAdd.sMobilePhone;
ADOStoredProc_ADDACCOUNT.Prepared:=True;
Try
ADOStoredProc_ADDACCOUNT.ExecProc;
if ADOStoredProc_ADDACCOUNT.Parameters.ParamByName('@RETURN_VALUE').Value=0 then
Result:=True;
Finally
End;
end;
function TDataModule_ID.Get(Name:String;var DBRecord: TAccountDBRecord): Boolean;
begin
Result:=False;
if ADOConnectionID.Connected then
Begin
ADOStoredProc_GETACCOUNT.Parameters.ParamByName('@ACCOUNT').Value:=Name;
ADOStoredProc_GETACCOUNT.Prepared:=TRUE;
Try
ADOStoredProc_GETACCOUNT.Active:=True;
if ADOStoredProc_GETACCOUNT.RecordCount>0 then
Begin
DBRecord.UserEntry.sAccount:=ADOStoredProc_GETACCOUNT.Fields[0].AsString;
DBRecord.UserEntry.sPassword:=ADOStoredProc_GETACCOUNT.Fields[1].AsString;
DBRecord.nErrorCount:=ADOStoredProc_GETACCOUNT.Fields[2].AsInteger;
DBRecord.dwActionTick:=ADOStoredProc_GETACCOUNT.Fields[3].AsInteger;
ADOStoredProc_GETACCOUNT.Active:=FAlse;
Result:=True;
End;
Finally
ADOStoredProc_GETACCOUNT.Active:=False;
End;
End;
end;
function TDataModule_ID.UpDate( DBRecord: TAccountDBRecord): Boolean;
var
sql:String;
begin
Result:=False;
if ADOConnectionID.Connected then
Begin
Try
ADOStoredProc_UpDate.Parameters.ParamByName('@ACCOUNT').Value:=DBRecord.UserEntry.sAccount;
ADOStoredProc_UpDate.Parameters.ParamByName('@PASSWORD').Value:=DBRecord.UserEntry.sPassword;
ADOStoredProc_UpDate.Parameters.ParamByName('@ERRORCOUNT').Value:=DBRecord.nErrorCount;
ADOStoredProc_UpDate.Parameters.ParamByName('@ACTIONTICK').Value:=DBRecord.dwActionTick;
ADOStoredProc_UpDate.Prepared:=TRUE;
Try
ADOStoredProc_UpDate.ExecProc;
if ADOStoredProc_UpDate.Parameters.ParamByName('@RETURN_VALUE').Value=0 then
Result:=True;
Finally
End;
Finally
End;
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -