📄 datasql_db.pas
字号:
begin
HumanRcd.Magic[i].wMagIdx :=
ADOStoredProc_Magic_Get.FieldByName('magicid').AsInteger;
HumanRcd.Magic[i].btLevel :=
ADOStoredProc_Magic_Get.FieldByName('btlevel').AsInteger;
HumanRcd.Magic[i].btKey :=
ADOStoredProc_Magic_Get.FieldByName('btkey').AsInteger;
HumanRcd.Magic[i].nTranPoint :=
ADOStoredProc_Magic_Get.FieldByName('Tranpoint').AsInteger;
ADOStoredProc_Magic_Get.Next;
end;
Result:=1;
ADOStoredProc_Magic_Get.Active:=FAlse;
ADOStoredProc_Get.Active := False;
except
Result:=6;
ENd;
end;
end;
}
{function TDataModule_DB.UpdateHumData(HumData: THumData): Boolean;
var
b4:Array of byte;
ok:Integer;
begin
Result:=False;
try
if ADOConnectionDB.Connected then
Begin
ADOStoredProc_HUM_Update.Close;
ADOStoredProc_HUM_Update.Params.ParamByName('@ACCOUNT').Value:=HumData.sAccount;
ADOStoredProc_HUM_Update.Params.ParamByName('@NAME').Value:=HumData.sChrName;
ADOStoredProc_HUM_Update.Params.ParamByName('@CurMap').Value:=HumData.sCurMap;
ADOStoredProc_HUM_Update.Params.ParamByName('@wCurx').Value:=HumData.wCurX;
ADOStoredProc_HUM_Update.Params.ParamByName('@wCury').Value:=HumData.wCurY;
ADOStoredProc_HUM_Update.Params.ParamByName('@Dir').Value:=HumData.btDir;
ADOStoredProc_HUM_Update.Params.ParamByName('@Hair').Value:=HumData.btHair;
ADOStoredProc_HUM_Update.Params.ParamByName('@Sex').Value:=HumData.btSex;
ADOStoredProc_HUM_Update.Params.ParamByName('@Job').Value:=HumData.btJob;
ADOStoredProc_HUM_Update.Params.ParamByName('@Gold').Value:=HumData.nGold;
ADOStoredProc_HUM_Update.Params.ParamByName('@nLevel').Value:=HumData.Abil.Level;
ADOStoredProc_HUM_Update.Params.ParamByName('@AC').Value:=HumData.Abil.AC;
ADOStoredProc_HUM_Update.Params.ParamByName('@MAC').Value:=HumData.Abil.MAC;
ADOStoredProc_HUM_Update.Params.ParamByName('@DC').Value:=HumData.Abil.DC;
ADOStoredProc_HUM_Update.Params.ParamByName('@MC').Value:=HumData.Abil.MC;
ADOStoredProc_HUM_Update.Params.ParamByName('@SC').Value:=HumData.Abil.SC;
ADOStoredProc_HUM_Update.Params.ParamByName('@HP').Value:=HumData.Abil.HP;
ADOStoredProc_HUM_Update.Params.ParamByName('@MP').Value:=HumData.Abil.MP;
ADOStoredProc_HUM_Update.Params.ParamByName('@MAXHP').Value:=HumData.Abil.MaxHP;
ADOStoredProc_HUM_Update.Params.ParamByName('@MAXMP').Value:=HumData.Abil.MaxMP;
ADOStoredProc_HUM_Update.Params.ParamByName('@EXP').Value:=HumData.Abil.Exp;
ADOStoredProc_HUM_Update.Params.ParamByName('@MAXExp').Value:=HumData.Abil.MaxExp;
ADOStoredProc_HUM_Update.Params.ParamByName('@Weight').Value:=HumData.Abil.Weight;
ADOStoredProc_HUM_Update.Params.ParamByName('@MAxWeight').Value:=HumData.Abil.MaxWeight;
ADOStoredProc_HUM_Update.Params.ParamByName('@WearWeight').Value:=HumData.Abil.WearWeight;
ADOStoredProc_HUM_Update.Params.ParamByName('@MaxWearWeight').Value:=HumData.Abil.MaxWearWeight;
ADOStoredProc_HUM_Update.Params.ParamByName('@HANDWEIGHT').Value:=HumData.Abil.HandWeight;
ADOStoredProc_HUM_Update.Params.ParamByName('@MaXHandWeight').Value:=HumData.Abil.MaxHandWeight;
ADOStoredProc_HUM_Update.Params.ParamByName('@HomeMap').Value:=HumData.sHomeMap;
ADOStoredProc_HUM_Update.Params.ParamByName('@HomeX').Value:=HumData.wHomeX;
ADOStoredProc_HUM_Update.Params.ParamByName('@HomeY').Value:=HumData.wHomeY;
ADOStoredProc_HUM_Update.Params.ParamByName('@DearName').Value:=HumData.sDearName;
ADOStoredProc_HUM_Update.Params.ParamByName('@MasterName').Value:=HumData.sMasterName;
ADOStoredProc_HUM_Update.Params.ParamByName('@boMaster').Value:=HumData.boMaster;
ADOStoredProc_HUM_Update.Params.ParamByName('@CreditPoint').Value:=HumData.btCreditPoint;
ADOStoredProc_HUM_Update.Params.ParamByName('@StroragePwd').Value:=HumData.sStoragePwd;
ADOStoredProc_HUM_Update.Params.ParamByName('@ReLevel').Value:=HumData.btReLevel;
ADOStoredProc_HUM_Update.Params.ParamByName('@LockLogon').Value:=HumData.boLockLogon;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_DC').Value:=HumData.BonusAbil.DC;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MC').Value:=HumData.BonusAbil.MC;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_SC').Value:=HumData.BonusAbil.SC;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_AC').Value:=HumData.BonusAbil.AC;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MAC').Value:=HumData.BonusAbil.MAC;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_HP').Value:=HumData.BonusAbil.HP;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MP').Value:=HumData.BonusAbil.MP;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_Hit').Value:=HumData.BonusAbil.Hit ;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_Speed').Value:=HumData.BonusAbil.Speed;
ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_X2').Value:=HumData.BonusAbil.X2;
ADOStoredProc_HUM_Update.Params.ParamByName('@BonusPoint').Value:=HumData.nBonusPoint;
ADOStoredProc_HUM_Update.Params.ParamByName('@GameGold').Value:=HumData.nGameGold;
ADOStoredProc_HUM_Update.Params.ParamByName('@PayMentPoint').Value:=HumData.nPayMentPoint;
ADOStoredProc_HUM_Update.Params.ParamByName('@Contribution').Value:=HumData.wContribution;
ADOStoredProc_HUM_Update.Params.ParamByName('@IncHealth').Value:=HumData.btIncHealth;
ADOStoredProc_HUM_Update.Params.ParamByName('@PKPoint').Value:=HumData.nPKPOINT;
ADOStoredProc_HUM_Update.Params.ParamByName('@AllowGroup').Value:=HumData.btAllowGroup;
ADOStoredProc_HUM_Update.Params.ParamByName('@AttatckMode').Value:=HumData.btAttatckMode;
ADOStoredProc_HUM_Update.Params.ParamByName('@IncHealing').Value:=HumData.btIncHealing;
ADOStoredProc_HUM_Update.Params.ParamByName('@FightZoneDieCount').Value:=HumData.btFightZoneDieCount;
ADOStoredProc_HUM_Update.Params.ParamByName('@GamePoint').Value:=HumData.nGamePoint;
ADOStoredProc_HUM_Update.Params.ParamByName('@IncSpell').Value:=HumData.btIncSpell;
ADOStoredProc_HUM_Update.Params.ParamByName('@StorageCount').Value:=HumData.NewStoragesize;
SetLength(b4,213);
CopyMemory(@b4[0],@HumData.memo1 , 213);
ADOStoredProc_HUM_Update.Params.ParamByName('@Memo1').Value:=b4;
SetLength(b4,320);
CopyMemory(@b4[0],@HumData.Newvar.VarDate[0], 320);
ADOStoredProc_HUM_Update.Params.ParamByName('@newvardate').Value:=b4;
SetLength(b4,20);
CopyMemory(@b4[0],@HumData.Newvar.VarDate[0], 20);
ADOStoredProc_HUM_Update.Params.ParamByName('@newvar').Value:=b4;
ADOStoredProc_HUM_Update.Prepared:=True;
ADOStoredProc_HUM_Update.ExecProc;
ok:=ADOStoredProc_HUM_Update.Params.ParamByName('@RETURN_VALUE').Value;
Result:=ok=0;
Result:=SaveHumItem(HumData);
End;
finally
ADOStoredProc_HUM_Update.Close;
End;
end;
}
function TDataModule_DB.LoadVar(charname,VarName: String; var Value: string;
var ValueInt: Integer): Boolean;
begin
Result:=False;
if ADOConnectionDB.Connected then
begin
try
ADOQuery.Active:=False;
Adoquery.SQL.Text:='Select * from D_Val where (charname='+''''+charname+''''+')and(varname='+''''+varname+''''+')';
ADOQuery.Active:=True;
if ADOQuery.RecordCount>0 then
begin
Value:=ADOQuery.fieldByName('VarValue_str').AsString;
ValueInt:=ADOQuery.fieldByName('VarValue_int').AsInteger;
Result:=True;
end;
Except
Result:=False;
End;
End;
end;
function TDataModule_DB.SaveVar(charname, VarName, Value: string;
var ValueInt: Integer): Boolean;
begin
Result:=False;
if ADOConnectionDB.Connected then
begin
try
ADOQuery.Active:=False;
ADOQuery.SQL.Clear;
Adoquery.SQL.Add(' Select * from D_Val where (CharName=+'+''''+charname+''''+')and(VarName='+''''+varname+''''+')');
ADOQuery.Active:=True;
if ADOQuery.RecordCount=0 then
ADOQuery.Append
else
ADOQuery.Edit;
ADOQuery.FieldByName('VarValue_int').AsInteger:=ValueInt;
ADOQuery.FieldByName('VarValue_Str').AsString:=Value;
ADOQuery.FieldByName('VarName').AsString:=varName;
ADOQuery.FieldByName('CharName').AsString:=charname;
ADOQuery.Post;
Result:=True;
Except
Result:=False;
End;
End;
end;
function TDataModule_DB.UpdateBy(Name,ACCOUNT: String; boSelect,
boDelete: Byte): Boolean;
begin
Result:=False;
if ADOConnectionDB.Connected then
begin
try
ADOStoredProc_Del.Close;
ADOStoredProc_Del.Params.ParamByName('@Name').Value := Name;
ADOStoredProc_Del.Params.ParamByName('@Account').Value := ACCOUNT;
ADOStoredProc_Del.Params.ParamByName('@boSelect').Value := boSelect;
ADOStoredProc_Del.Params.ParamByName('@boDelete').Value := boDelete;
ADOStoredProc_Del.Prepared := True;
ADOStoredProc_Del.ExecProc;
Result:=ADOStoredProc_Del.Params.ParamByName('@RETURN_VALUE').Value= 0;
ADOStoredProc_Del.Close;
Except
End;
End;
end;
{
function TDataModule_DB.SaveHumItem(HumData:THumData): Boolean;
var
OK,i,count:Integer;
Item:TUserItem;
Str:String;
Magic: TMagic1;
begin
try
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
str:='Delete from D_HUM_ITEM where pos<0'+#13#10;
str:=str+'Update D_HUM_ITEM Set pos=pos-250 where charid='+''''+HumData.sChrName+''''+#13#10;
str:=str+'Delete from D_HUM_MAGIC where charid='+''''+HumData.sChrName+'''';
ADOQuery1.SQL.Add(str);
// ADOQuery1.Params[0].Value:=HumData.sChrName;
// ADOQuery1.Params[1].Value:=HumData.sChrName;
ok:= ADOQuery1.ExecSQL;
for i:=0 to 19 do
begin
Magic:=HumData.Magic[i];
UpdataMagic(Magic,HumData.sChrName);
end;
for i:=0 to 204 do
begin
Item:=HumData.UserITems[i];
if (Item.MakeIndex>0)and(Item.wIndex>0) then
SaveItem(Item,HumData.sChrName,-1);
End;
except
OutMainMessage('存盘出错!'+HumData.sChrName);
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
str:=str+'Update D_HUM_ITEM Set pos=pos+250 where charid='+''''+HumData.sChrName+''''+#13#10;
ADOQuery1.SQL.Add(str);
ADOQuery1.ExecSQL;
end;
finally
Result:=true;
End;
end;
function TDataModule_DB.SaveItem(Item: TUserItem;Name:String;Pos:Integer): Boolean;
var
btValue:Array of byte;
begin
Result:=True;
if ADOConnectionDB.Connected then
Begin
ADOStoredProc_ITEM.Close;
SetLength(btValue,78);
CopyMemory(@btValue[0],@Item.btvalue[0],78);
ADOStoredProc_ITEM.Params.ParamByName('@MakeIndex').Value:=Item.MakeIndex;
ADOStoredProc_ITEM.Params.ParamByName('@charID').Value:=Name;
ADOStoredProc_ITEM.Params.ParamByName('@windex').Value:=Item.wIndex;
ADOStoredProc_ITEM.Params.ParamByName('@Dura').Value:=Item.Dura;
ADOStoredProc_ITEM.Params.ParamByName('@DuraMax').Value:=Item.DuraMax;
ADOStoredProc_ITEM.Params.ParamByName('@pos').Value:=Pos;
ADOStoredProc_ITEM.Params.ParamByName('@btvalue').Value:=btValue;
ADOStoredProc_ITEM.Prepared:=True;
ADOStoredProc_ITEM.ExecProc;
End;
end;
function TDataModule_DB.UpdataMagic(Magic: TMagic1; Name: String): BOOLean;
begin
Result:=True;
if ADOConnectionDB.Connected then
Begin
ADOStoredProc_MAGIC_Update.Close;
ADOStoredProc_MAGIC_Update.Params.ParamByName('@magicid').Value:=Magic.wMagIdx;
ADOStoredProc_MAGIC_Update.Params.ParamByName('@charID').Value:=Name;
ADOStoredProc_MAGIC_Update.Params.ParamByName('@btlevel').Value:=Magic.btLevel;
ADOStoredProc_MAGIC_Update.Params.ParamByName('@btkey').Value:=Magic.btKey;
ADOStoredProc_MAGIC_Update.Params.ParamByName('@Tranpoint').Value:=Magic.nTranPoint;
ADOStoredProc_MAGIC_Update.Prepared:=True;
ADOStoredProc_MAGIC_Update.ExecProc;
End;
end;
}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -