📄 u_export.pas
字号:
_Msg:='测试连接失败,请重新测试或选用其他的服务器';
Application.MessageBox(_Msg,'信息提示',MB_OK+MB_ICONINFORMATION)
End;
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;
//按钮:数据转移ORCL->SQL
procedure TFrm_Export.Btn_ExportClick(Sender: TObject);
var
strSql:String;
begin
//打开目标数据库
aSql:='SELECT * into abc FROM '+Trim(CB_Table.Text);
//执行查询
with Ads do
begin
Close;
CommandText:=aSql;
Open;
end;
//从ORCL数据库查询数据
strSql:='SELECT ID,NAME FROM '+Trim(CB_OraTable.Text);
with AdoDS_Orcl do
begin
//执行查询
Close;
CommandText:=strSql;
Open;
//判断是否有记录
if RecordCount>0 then
begin
//定位首记录
First;
//循环赋值
while Not Eof do
begin
//插入数据
AdoDS_Sql.Append;
//数据赋值
AdoDS_Sql.FieldValues('ID'):=FieldValues('ID');
//提交数据库
AdoDS_Sql.UpdateBatch();
//移动记录
Next;
end;
end
else
begin
//提示用户无数据等操作
end;
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 + -