⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataunit.pas

📁 乐都SQL版传奇全套代码,绝对可编译
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 + -