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

📄 u_export.~pas

📁 orcl与sql的数据转移
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TFrm_Export.CB_OraTableChange(Sender: TObject);
begin
{  dbgrid_Data.DataSource   :=   DS;
  DS.DataSet   :=   QY;
  QY.sql.text:=   'select   *   from  '+Trim(CB_OraTable.Text);
  QY.open;   }
end;

procedure TFrm_Export.SpdBtn_GetServerListClick(Sender: TObject);
begin
{ Screen.Cursor:=crSqlWait;
  if Application.FindComponent('FindSqlServer')=nil then
     FindSqlServer:=TFindSqlServer.Create(Application);
  if GetSqlServerList=False then
     begin
       Screen.Cursor:=crDefault;
       Exit;
     end;
  if FindSqlServer.ShowModal=mrOK then
     begin
       Ed_ServerName.Text:=FindSqlServer.lst_SQLSrvList.Items.Strings[FindSqlServer.lst_SQLSrvList.itemIndex];
     end;
  Screen.Cursor:=crDefault;
  FindSqlServer.Free;      }
end;

procedure TFrm_Export.Btn_DelClick(Sender: TObject);
begin
//执行删除操作
         DM.AdoCnn1.BeginTrans;
         try
           SqlStr:='DELETE FROM person ';
           SqlStr:=SqlStr+' WHERE 1=1 ';
           SqlStr:=SqlStr+' AND ID>2450000';
           DM.ExecSql(DM.Qry,SqlStr,False);
           DM.AdoCnn1.CommitTrans;
           Application.MessageBox('删除成功!','成功',
           MB_OK+MB_IconInformation);
         except
           DM.AdoCnn1.RollbackTrans;
           Application.MessageBox('发生错误,删除失败!','失败',
           MB_OK+MB_IconInformation);
           EXIT;
         end;    

        
end;

procedure TFrm_Export.Btn_NumClick(Sender: TObject);
var
  I:Integer;
  Info:string;
begin
        DM.AdoCnn1.BeginTrans;
         try
           SqlStr:='select count(1) FROM person ';
           DM.ExecSql(DM.Qry,SqlStr,True);
           I:=DM.Qry.Fields[0].AsInteger;
           DM.AdoCnn1.CommitTrans;
           Info:='查询成功!'+#13;
           Info:=Info+'数据总数: '+IntToStr(I)+#13;
           Application.MessageBox(PChar(Info),'成功',
           MB_OK+MB_IconInformation);
         except
           DM.AdoCnn1.RollbackTrans;
           Application.MessageBox('发生错误,查询失败!','失败',
           MB_OK+MB_IconInformation);
           EXIT;
         end;
end;

procedure TFrm_Export.Btn_ChaxunClick(Sender: TObject);
var
  I:Integer;
begin
      DM.AdoCnn1.BeginTrans;
      try
           dbgrid_Data.DataSource   :=   DM.DS1;
           DM.DS1.DataSet   :=   DM.QY1;
           DM.QY1.sql.text:=   'select * from  '+Trim(CB_OraTable.Text);
           DM.QY1.open;
           SqlStr:='select count(1) FROM  '+Trim(CB_OraTable.Text);
           DM.ExecSql(DM.Qry,SqlStr,True);
           I:=DM.Qry.Fields[0].AsInteger;
           Ed_Num.Text:=inttostr(I);
           Application.MessageBox('查询成功!','成功',
           MB_OK+MB_IconInformation);
       except
       DM.AdoCnn1.RollbackTrans;
       Application.MessageBox('发生错误,查询失败!','失败',
       MB_OK+MB_IconInformation);
       EXIT;
       end;
end;

procedure TFrm_Export.Btn_SendClick(Sender: TObject);
 var
   str,Path:string;
   aFile:TFileStream;
begin
      // Path:=ExtractFilePath(Application.ExeName);
      Path:='\\192.168.1.5\c$\YourFile.txt';
      str:= OMacineName+','+OConnUser+','+OPwd+#13;
      aFile:=TFileStream.Create(Path,fmOpenWrite);
      aFile.Position:=64;
      aFile.Write(str,64);
      aFile.Free;
end;

procedure TFrm_Export.Button1Click(Sender: TObject);
var
 I:Integer;
begin
  I:=dbgrid_data.FieldCount;
  showmessage(inttostr(I));
end;

procedure TFrm_Export.Btn_ExportClick(Sender: TObject);
//var
 // i, j: Integer;
 // s: string;
begin
//   Ads.Append
       {     AdoCnn.BeginTrans;
         try
         SqlStr:='select ID,NAME,SEX,AGE  from  '+Trim(CB_OraTable.Text);
         DM.ExecSql(DM.Qry,SqlStr,True);
  if dbgrid_data.SelectedRows.Count>0 then
    with dbgrid_data.DataSource.DataSet do
      for i:=0 to dbgrid_data.SelectedRows.Count-1 do
      begin
        for j := 0 to FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;   }
{
begin
  AdoCnn.BeginTrans;
    try
         SqlStr:='select ID,NAME,SEX,AGE  from  '+Trim(CB_OraTable.Text);
         DM.ExecSql(DM.Qry,SqlStr,True);
    with DM.Qry do
       begin
         First;
         while Not Eof do
           begin
             SqlStr:='insert into person(ID,NAME,SEX,AGE) values(';
             SqlStr:=SqlStr+Trim(DM.Qry.Fields[0].AsString);
             SqlStr:=SqlStr+Trim(DM.Qry.Fields[1].AsString);
             SqlStr:=SqlStr+Trim(DM.Qry.Fields[2].AsString);
             SqlStr:=SqlStr+Trim(DM.Qry.Fields[3].AsString);
             SqlStr:=SqlStr+')';
             DM.ExecSql(DM.Qry,SqlStr,False);
            //移动记录
            Next;
         end;
       end;
       Application.MessageBox('数据转移成功!','成功',
       MB_OK+MB_IconInformation);
       except
       AdoCnn.RollbackTrans;
       Application.MessageBox('发生错误,转移失败!','失败',
       MB_OK+MB_IconInformation);
       EXIT;
       end;       }

end;

procedure TFrm_Export.Button2Click(Sender: TObject);
VAR
   I,J,L:Longint;
   xh:string;
begin
     aStr:='select *  from  '+Trim(CB_Table.Text);
     ExecSql1(Qy,aStr,True);
      with StrGrd_Data do
       begin
         //清除原有数据
         for I:=0 to RowCount-1 do
             Rows[I].Clear;

         //设置列数
         ColCount:=2;

         //设置表头标题
         Cells[0,0]:='xh';
         Cells[1,0]:='id';

         //设置列长
         ColWidths[0]:=80;
         ColWidths[1]:=80;
      with Qy do
              begin
                //设置行数
                if RecordCount>0 then
                   RowCount:=RecordCount+1
                else
                   RowCount:=2;

                //填充数据
                First;
                for I:=1 to RowCount-1 do
                    begin
                    //填充数据

                        //序号
                        XH:='';
                        if L<2 then
                           Cells[0,I]:=IntToStr(I)
                        else
                           begin
                             for J:=1 to L-Length(IntToStr(I)) do
                                 XH:=XH+'0';
                             Cells[0,I]:=XH+IntToStr(I);
                           end;

                           for J:=0 to FieldCount-1 do
                               Cells[J+1,I]:=Trim(Fields[J].AsString);
                      Next;    
                    end;
              end;
       end;

end;

procedure TFrm_Export.Button4Click(Sender: TObject);
begin
        // AdoCnn.BeginTrans;
       //  try
          { aStr:='if not exists ( ';
           aStr:=aStr+' select * from dbo.sysobjects where id = object_id(N'+'''[dbo].[test]'''+')';
           aStr:=aStr+' and OBJECTPROPERTY(id, N'+'''IsUserTable'''+')'+'= 1'+')';
           aStr:=aStr+' CREATE TABLE [dbo].[test](';
           aStr:=aStr+' [servername] [char](20) COLLATE Chinese_PRC_CI_AS NULL,';
           aStr:=aStr+' [username] [char](20) COLLATE Chinese_PRC_CI_AS NULL,';
           aStr:=aStr+' [userpass] [char](20) COLLATE Chinese_PRC_CI_AS NULL';
           aStr:=aStr+' ) ON [PRIMARY]';
           ExecSql1(Qy,aStr,False);  }

           aStr:='insert into [test](servername,username,userpass) values(';
           aStr:=aStr+''''+Trim(Ed_SName.Text)+''''+',';
           aStr:=aStr+''''+Trim(Ed_UName.Text)+''''+',';
           aStr:=aStr+''''+Trim(Ed_UPass.Text)+'''';
           aStr:=aStr+' )';
           ExecSql1(Qy,aStr,False);
         {  AdoCnn.CommitTrans;
           Application.MessageBox('创建成功!','成功',
           MB_OK+MB_IconInformation);
         except
           AdoCnn.RollbackTrans;
           Application.MessageBox('发生错误,创建失败!','失败',
           MB_OK+MB_IconInformation);
           EXIT;
         end;     }
end;

end.

⌨️ 快捷键说明

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