📄 dataunit.pas
字号:
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('update D_HUM_ITEM set CharID=:CharID where CharID=:Name');
ADOQuery3.SQL.Add('update D_HUM_MAGIC set CharID=:CharID1 where CharID=:Name1');
ADOQuery3.SQL.Add('update D_GuildMember set CharName=:CharID2 where CharName=:Name2');
ADOQuery3.SQL.Add('update D_VAL set CharName=:CharID3 where CharName=:Name3');
if ADOQuery2.RecordCount=0 then Exit;
FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
FormMain.bsSkinGauge1.Value:=0;
FormMain.bsSkinGauge1.Visible:=True;
FormMain.OutLog('正在合并HUM数据表......');
try
for i:=0 to ADOQuery2.RecordCount-1 do
begin
Account:=ADOQuery2.FieldValues['name'];
ADOQuery1.Parameters[0].Value:=Account;
ADOQuery1.Active:=True;
if ADOQuery1.RecordCount>0 then
begin
Find:=True;
FormMain.OutLog(Format('发现角色:%s重复',[Account]));
End
else
Find:=FAlse;
if npos=0 then
Account:= Addstr+Account
else
Account:=ACcount+Addstr;
ADOQuery1.Append;
for j:=1 to ADOQuery2.FieldCount-1 do
Begin
if not ADOQuery2.Fields[j].IsNull then
ADOQuery1.Fields[j].Value:=ADOQuery2.Fields[j].Value;
end;
ADOQuery1.FieldValues['serverindex']:=index;
if Find then
Begin
ADOQuery1.FieldByName('name').Value:=Account;
ADOQuery3.Parameters.ParamByName('Name').Value:=ADOQuery2.FieldValues['name'];
ADOQuery3.Parameters.ParamByName('CharID').Value:=Account;
ADOQuery3.Parameters.ParamByName('Name1').Value:=ADOQuery2.FieldValues['name'];
ADOQuery3.Parameters.ParamByName('CharID1').Value:=Account;
ADOQuery3.Parameters.ParamByName('Name2').Value:=ADOQuery2.FieldValues['name'];
ADOQuery3.Parameters.ParamByName('CharID2').Value:=Account;
ADOQuery3.Parameters.ParamByName('Name3').Value:=ADOQuery2.FieldValues['name'];
ADOQuery3.Parameters.ParamByName('CharID3').Value:=Account;
ADOQuery3.ExecSQL;
end;
ADOQuery1.Post;
ADOQuery1.Active:=False;
ADOQuery2.Next;
FormMain.bsSkinGauge1.Value:=i;
End;
finally
FormMain.bsSkinGauge1.Visible:=False;
FormMain.OutLog('HUM数据表合并完成......');
End;
end;
procedure TDataModule1.CombineID(Addstr: String; npos, index: Integer);
var
i,j : Integer;
Account : String;
ar : array of variant;
Find : Boolean;
begin
if not ADOConnection1.Connected then Exit;
if not ADOConnection2.Connected then Exit;
ADOQuery2.Active:=FAlse;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from D_ACCOUNT');
ADOQuery2.Active:=True;
ADOQuery1.Active:=FAlse;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from D_ACCOUNT where ACCOUNT=:Name');
ADOQuery3.Active:=FAlse;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('update D_HUM_INFO set ACCOUNT=:ACCOUNT where ACCOUNT=:Name');
if ADOQuery2.RecordCount=0 then Exit;
FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
FormMain.bsSkinGauge1.Value:=0;
FormMain.bsSkinGauge1.Visible:=True;
FormMain.OutLog('正在合并ID数据表......');
try
for i:=0 to ADOQuery2.RecordCount-1 do
begin
Account:=ADOQuery2.FieldValues['ACCOUNT'];
ADOQuery1.Parameters[0].Value:=Account;
ADOQuery1.Active:=True;
if ADOQuery1.RecordCount>0 then
begin
Find:=True;
FormMain.OutLog(Format('发现账号:%s重复',[Account]));
End
else
Find:=FAlse;
if npos=0 then
Account:= Addstr+Account
else
Account:=ACcount+Addstr;
ADOQuery1.Append;
for j:=1 to 17 do
Begin
if not ADOQuery2.Fields[j].IsNull then
ADOQuery1.Fields[j].Value:=ADOQuery2.Fields[j].Value;
end;
if Find then
Begin
ADOQuery1.FieldByName('ACCOUNT').Value:=Account;
ADOQuery3.Parameters.ParamByName('Name').Value:=ADOQuery2.FieldValues['ACCOUNT'];
ADOQuery3.Parameters.ParamByName('ACCOUNT').Value:=Account;
ADOQuery3.ExecSQL;
end;
ADOQuery1.FieldByName('ServerIndex').Value:=Index;
ADOQuery1.Post;
ADOQuery1.Active:=False;
ADOQuery2.Next;
FormMain.bsSkinGauge1.Value:=i;
End;
finally
FormMain.bsSkinGauge1.Visible:=False;
FormMain.OutLog('ID数据表合并完成......');
End;
end;
procedure TDataModule1.CombineITEM(index:Integer);
var
i,j : Integer;
Account : String;
ar : array of variant;
Find : Boolean;
begin
if not ADOConnection1.Connected then Exit;
if not ADOConnection2.Connected then Exit;
ADOQuery2.Active:=FAlse;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from D_HUM_ITEM');
ADOQuery2.Active:=True;
ADOQuery1.Active:=FAlse;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from D_HUM_ITEM');
if ADOQuery2.RecordCount=0 then Exit;
FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
FormMain.bsSkinGauge1.Value:=0;
FormMain.bsSkinGauge1.Visible:=True;
FormMain.OutLog('正在合并物品数据表......');
try
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ADOQuery1.Active:=True;
ADOQuery1.Append;
for j:=1 to ADOQuery2.FieldCount-1 do
Begin
if not ADOQuery2.Fields[j].IsNull then
ADOQuery1.Fields[j].Value:=ADOQuery2.Fields[j].Value;
end;
ADOQuery1.FieldValues['serverindex']:=index;
ADOQuery1.Post;
ADOQuery1.Active:=False;
ADOQuery2.Next;
FormMain.bsSkinGauge1.Value:=i;
End;
finally
FormMain.bsSkinGauge1.Visible:=False;
FormMain.OutLog('物品数据表合并完成......');
End;
end;
procedure TDataModule1.CombineMagic(index:Integer);
var
i,j : Integer;
Account : String;
ar : array of variant;
Find : Boolean;
begin
if not ADOConnection1.Connected then Exit;
if not ADOConnection2.Connected then Exit;
ADOQuery2.Active:=FAlse;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from D_HUM_MAGIC');
ADOQuery2.Active:=True;
ADOQuery1.Active:=FAlse;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from D_HUM_MAGIC');
if ADOQuery2.RecordCount=0 then Exit;
FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
FormMain.bsSkinGauge1.Value:=0;
FormMain.bsSkinGauge1.Visible:=True;
FormMain.OutLog('正在合并技能数据表......');
try
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ADOQuery1.Active:=True;
ADOQuery1.Append;
for j:=1 to ADOQuery2.FieldCount-1 do
Begin
if not ADOQuery2.Fields[j].IsNull then
ADOQuery1.Fields[j].Value:=ADOQuery2.Fields[j].Value;
end;
ADOQuery1.FieldValues['serverindex']:=index;
ADOQuery1.Post;
ADOQuery1.Active:=False;
ADOQuery2.Next;
FormMain.bsSkinGauge1.Value:=i;
End;
finally
FormMain.bsSkinGauge1.Visible:=False;
FormMain.OutLog('技能数据表合并完成......');
End;
end;
procedure TDataModule1.CombineVal(index: Integer);
var
i,j : Integer;
Account : String;
ar : array of variant;
Find : Boolean;
begin
if not ADOConnection1.Connected then Exit;
if not ADOConnection2.Connected then Exit;
ADOQuery2.Active:=FAlse;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from D_VAL');
ADOQuery2.Active:=True;
ADOQuery1.Active:=FAlse;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from D_VAL');
if ADOQuery2.RecordCount=0 then Exit;
FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
FormMain.bsSkinGauge1.Value:=0;
FormMain.bsSkinGauge1.Visible:=True;
FormMain.OutLog('正在合并变量数据表......');
try
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ADOQuery1.Active:=True;
ADOQuery1.Append;
for j:=0 to ADOQuery2.FieldCount-1 do
Begin
if not ADOQuery2.Fields[j].IsNull then
ADOQuery1.Fields[j].Value:=ADOQuery2.Fields[j].Value;
ENd;
ADOQuery1.FieldValues['serverindex']:=index;
ADOQuery1.Post;
ADOQuery1.Active:=False;
ADOQuery2.Next;
FormMain.bsSkinGauge1.Value:=i;
End;
finally
FormMain.bsSkinGauge1.Visible:=False;
FormMain.OutLog('变量数据表合并完成......');
End;
end;
procedure TDataModule1.DeleteServer(Index: Integer);
begin
if ADOConnection1.Connected then
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_ACCOUNT where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区id数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_HUM_INFO where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区HUm数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_HUM_ITEM where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区物品数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_HUM_MAGIC where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区技能数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_Guild where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区行会数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_Guild_COMMUNITY where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区行会关系数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM D_GuildMember where serverindex=:index');
ADOQuery1.Parameters[0].Value:=Index;
FormMain.OutLog('删除分区行会成员数据成功!');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=False;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -