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

📄 dataunit.pas

📁 乐都SQL版传奇全套代码,绝对可编译
💻 PAS
📖 第 1 页 / 共 3 页
字号:
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('DELETE FROM D_VAL where serverindex=:index');
       ADOQuery1.Parameters[0].Value:=Index;
       FormMain.OutLog('删除分区变量数据成功!');
       ADOQuery1.ExecSQL;


    end;
end;

procedure TDataModule1.RepairItmeMakeIndex;
var
  i,Count,code : Integer;
begin
  if ADOConnection1.Connected then
  Begin
    ADOQuery1.Active:=False;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM [D_HUM_ITEM] ORDER BY makeindex');
    ADOQuery1.Active:=True;
    FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
    FormMain.bsSkinGauge1.MinValue:=0;
    FormMain.bsSkinGauge1.Value:=0;
    FormMain.bsSkinGauge1.Visible:=True;
    FormMain.OutLog('正在修正主传奇数据库物品编号......');
    count:=ADOQuery1.RecordCount;
    for i:=0 to ADOQuery1.RecordCount-1 do
    begin
      FormMain.bsSkinGauge1.Value:=i;

      ADOQuery1.Edit;
      ADOQuery1.FieldByName('makeindex').AsInteger:=i;
      ADOQuery1.Post;
      ADOQuery1.Next;

    End;
    FormMain.OutLog('完成主传奇数据库物品编号修正......');
    FormMain.bsSkinGauge1.Visible:=False;
  end;
  if ADOConnection2.Connected then
  Begin
    ADOQuery2.Active:=False;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('SELECT * FROM [D_HUM_ITEM] ORDER BY makeindex');
    ADOQuery2.Active:=True;
    FormMain.bsSkinGauge1.MaxValue:=ADOQuery2.RecordCount-1;
    FormMain.bsSkinGauge1.MinValue:=0;
    FormMain.bsSkinGauge1.Visible:=True;
    FormMain.OutLog('正在修正要转换传奇数据库物品编号......');

    for i:=0 to ADOQuery2.RecordCount-1 do
    begin
      FormMain.bsSkinGauge1.Value:=i;

      ADOQuery2.Edit;
      ADOQuery2.FieldByName('makeindex').AsInteger:=i+count;
      ADOQuery2.Post;
      ADOQuery2.Next;

    End;
    FormMain.OutLog('完成要转换传奇数据库物品编号修正......');
    FormMain.bsSkinGauge1.Visible:=False;
  end;

end;

procedure TDataModule1.UnCombine(Index: Integer);
var
   i,j,humi: Integer;
   charname: String;
begin
    if ADOConnection1.Connected and ADOConnection2.Connected then
    begin
       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_ACCOUNT] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


      FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出ID数据表......');


       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_ACCOUNT] where ACCOUNT=:Account');


          ADOQuery2.Parameters[0].Value:=ADOQuery1.FieldValues['ACCOUNT'];
          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;

          FormMain.bsSkinGauge1.Value:=i;
          ADOQuery1.Next;
       End;

       //导出人物



       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_HUM_INFO] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;

       FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出人物数据表......');

       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_HUM_INFO] where name=:Account');

          //导出人物
          ADOQuery2.Parameters[0].Value:=ADOQuery1.FieldValues['name'];
          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;

          FormMain.bsSkinGauge1.Value:=i;
          ADOQuery1.Next;
       End;

       //导出物品

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_HUM_ITEM] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


       FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出物品数据表......');
       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_HUM_ITEM] where makeindex=:Account');


          ADOQuery2.Parameters[0].Value:=ADOQuery1.FieldValues['makeindex'];
          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;

          FormMain.bsSkinGauge1.Value:=i;
          ADOQuery1.Next;
       End;
       //导出魔法

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_HUM_MAGIC] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;

       FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出魔法数据表......');

       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_HUM_MAGIC] where charid=:Account');


          ADOQuery2.Parameters[0].Value:=ADOQuery1.FieldValues['charid'];
          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;
          FormMain.bsSkinGauge1.Value:=i;

          ADOQuery1.Next;
       End;

       //导出行会

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_Guild] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


       FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出行会数据表......');
       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_Guild]  ');



          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;
          FormMain.bsSkinGauge1.Value:=i;

          ADOQuery1.Next;
       End;
       //导出行会

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_Guild_COMMUNITY] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


       FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出行会关系数据表......');
       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_Guild_COMMUNITY]  ');



          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;
          FormMain.bsSkinGauge1.Value:=i;

          ADOQuery1.Next;
       End;

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_GuildMember] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


        FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出行会成员数据表......');
       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_GuildMember]  ');



          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;
           FormMain.bsSkinGauge1.Value:=i;

          ADOQuery1.Next;
       End;

       ADOQuery1.Active:=False;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('SELECT * FROM [D_Val] where Serverindex=:index');

       ADOQuery1.Parameters[0].Value:=Index;
       ADOQuery1.Active:=True;


      FormMain.bsSkinGauge1.MaxValue:=ADOQuery1.RecordCount-1;
      FormMain.bsSkinGauge1.Value:=0;
      FormMain.bsSkinGauge1.Visible:=True;
      FormMain.OutLog('正在导出人物变量数据表......');
       for i:=0 to ADOQuery1.RecordCount-1 do
       begin
          ADOQuery2.Active:=False;
          ADOQuery2.SQL.Clear;
          ADOQuery2.SQL.Add('SELECT * FROM [D_Val]  ');
          ADOQuery2.Active:=True;

          if ADOQuery2.RecordCount=0 then
             ADOQuery2.Append
          else
             ADOQuery2.Edit;
          for j:=1 to ADOQuery2.FieldCount-1 do
          begin
              ADOQuery2.Fields[j].Value:=ADOQuery1.Fields[j].Value;
          end;
          ADOQuery2.Post;
          FormMain.bsSkinGauge1.Value:=i;

          ADOQuery1.Next;
       End;

    End;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -