技术类(delphi)
来源:互联网 发布:俄罗斯妹子保质期知乎 编辑:程序博客网 时间:2024/04/29 06:29
procedure TfrmHrResult.FormShow(Sender: TObject);
begin
//初始化
try
with dmHr do
begin
if not adoCnnHr.Connected then
adoCnnHr.Connected:=true;
if not adoQryHr.Active then
adoQryHr.Active:=true;
adoQryHr.First ;
end;
sqlStand:='Select top 1000 Person_No 编号 ,Person_Name 姓名,Sex 性别,Birthday 出生日期,Telephone 联系电话,Dept_Code 部门编号,Dept_Name 部门名称,Card_Code 卡号,State 停职标识,Note 备注 From Rs_BasicInfo ' ;
except
showmessage('数据库连接错误,请确认后再进入!');
end;
end;
procedure TfrmHrResult.atDelExecute(Sender: TObject);
var
Person_No:string;
begin
if (UCommon.CanDel('000')=false) then
begin
showmessage('对不起,您没有此模块的权限,请与管理员联系!');
exit;
end;
try
with dmHr do
begin
if not (adoQryHr.Bof or adoQryHr.Eof) then
begin
if (Application.MessageBox('是否真得要删除当前记录?','删除记录',MB_OKCANCEL)=ID_OK) then //1
begin
Person_No:=TrimRight(adoQryHr.FieldByName('编号').AsString);
if not adoTblHr.Active then adoTblHr.Open ;
if adoTblHr.Locate('Person_No',Person_No,[])then
adoTblHr.Delete; //删除记录
atRefreshExecute(self); //刷新记录
end;//确认
end; //存在记录时,则删除
end;
except
showmessage('删除数据时出错!');
end;
end;
procedure TfrmHrResult.AdoQrysaveToExcel;
var
//Eclapp,workbook:variant;
Eclapp:variant;
i,n:integer;
begin
if not dmHr.adoQryHr.Active then exit;
if dmHr.adoQryHr.RecordCount<=0 then exit;
if application.MessageBox('确认导出excel表吗?','提示',MB_OKCANCEL+MB_ICONINFORMATION)=ID_CANCEL then exit;
Eclapp := createoleobject('Excel.Application');
Eclapp.workbooks.add;
for i:=0 to dgHr.FieldCount-1 do
begin
Eclapp.cells[1,i+1]:=dgHr.Columns[i].Title.Caption;
end;
//Eclapp.cells[1,5]:='签字';
{
for i:=0 to dmHr.adoQryHr.FieldCount -1 do
begin
Eclapp.cells[1,i+1]:=dmHr.adoQryHr.Fields[i].Name ;
if (i=0) then showmessage(dmHr.adoQryHr.Fields[i].Name );
end;
}
//进度提示
pbHr.Min :=0;
pbHr.Max :=dmHr.adoQryHr.RecordCount;
pbHr.Visible :=true;
dmHr.adoQryHr.First;
n:=2;
while not dmHr.adoQryHr.Eof do
begin
for i:=0 to dmHr.adoQryHr.FieldCount -1 do
begin
eclapp.cells[n,i+1] := dmHr.adoQryHr.Fields[i].AsString; ;
end;
{
eclapp.cells[n,1] := dmHr.adoQryHr.Fields[0].AsString;
eclapp.cells[n,2] := dmHr.adoQryHr.Fields[1].AsString;
eclapp.cells[n,3] := dmHr.adoQryHr.Fields[2].AsString;
eclapp.cells[n,4] := dmHr.adoQryHr.Fields[4].AsString;
eclapp.cells[n,6] :=' ';
}
inc(n);
dmHr.adoQryHr.Next;
pbHr.StepBy(1) ;
end;
pbHr.Visible :=false;
//eclapp.cells[n,1] := '满足条件记录的总数为:'+inttostr(dmHr.adoQryHr.RecordCount)+'条';
application.MessageBox('数据导出完成!','提示',mb_ok+mb_iconinformation);
eclapp.visible := true;
end;
procedure TfrmHrResult.ImportFromExcel(filename: string);
var
i,j: integer;
//ExcelApplication1:TExcelApplication;
//ExcelWorksheet1:TExcelWorksheet;
//ExcelWorkbook1:TExcelWorkbook;
//filename: string;
begin
//////////////////连接Excell //////////////////////////
try
//ExcelApplication1:=TExcelApplication.Create(Application);
//ExcelWorksheet1:=TExcelWorksheet.Create(Application);
//ExcelWorkbook1:=TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
Application.Messagebox('Excel没有安装!', 'Hello', MB_ICONERROR + mb_Ok);
Abort;
end;
Try
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(fileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
Except
Exit;
end;
//////////////////连接Excell //////////////////////////
i :=2;//开始导入行数
// j :=100;//默认导入总行数
//j := ExcelApplication1.Rows.Count;
j := StrToInt(ExcelWorksheet1.Cells.Item[1,12]); //导入总行数
//showmessage(ExcelWorksheet1.Cells.Item[1,12]);
//showmessage('正在进行数据导入...');
//showmessage(ExcelWorksheet1.Cells.Item[1,1]) ;
//exit;
//进度提示
pbHr.Min :=0;
pbHr.Max :=j;
pbHr.Visible :=true;
try
if not dmHr.adoTblHr.Active then dmHr.adoTblHr.Open; //要导入的表
while i<=i+j-1 do
begin
if trim(ExcelWorksheet1.cells.item[i,1])<>'' then
begin
dmHr.adoTblHr.AppendRecord([
ExcelWorksheet1.Cells.Item[i,1],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,2],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,3],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,4],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,5],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,6],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,7],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,8],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,9],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,10]//第i行第3列.
//ExcelWorksheet1.Cells.Item[i,11]//第i行第3列.
]);
pbHr.StepBy(1);
end
else
Break;
Inc(i);
end;
finally
pbHr.Visible :=false;
dmHr.adoTblHr.close;
dmHr.adoTblHr.Open;
showMessage('数据导入完毕!');
end;
//////////////////断开Excell //////////////////////////
try
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
except
showMessage('关闭出错!');
end;
//////////////////断开Excell //////////////////////////
end;
procedure TfrmHrResult.ReFind;
//查询
begin
try
with dmHr do
begin
adoQryHr.DisableControls ;
if adoQryHr.Active then adoQryHr.Close ;
adoQryHr.SQL.Clear;
adoQryHr.SQL.Add(sqlStand);
adoQryHr.SQL.Add(' '+fndConn);
//showmessage(sqlStand +' '+fndConn);
adoQryHr.Prepared;
adoQryHr.Active :=true;
//dmHr.adoQryHr.First ;
adoQryHr.EnableControls ;
end;
except
begin
showmessage('查询条件设置有误,将显示全部记录!');
if dmHr.adoQryHr.Active then dmHr.adoQryHr.Close ;
dmHr.adoQryHr.SQL.Clear;
dmHr.adoQryHr.SQL.Add(sqlStand);
dmHr.adoQryHr.Active :=true;
//dmHr.adoQryHr.First ;
end;
end;
//更新
self.Update;
self.dgHr.Refresh ;
end;
- 技术类(delphi)
- 技术类2(delphi)
- 技术类3(delphi)
- DELPHI技术群 7832926 !!
- delphi word技术融合
- Delphi技术总结
- Delphi 2010中泛型技术
- Delphi 接口技术
- Delphi编程技术简介
- delphi 队列技术验证
- Delphi多线程技术
- delphi RTTI 反射技术
- Delphi 接口技术
- Delphi中的线程类 - TThread详解_LAVA WORLD [技术收集]
- 反射机制传递类_橙子的Delphi技术专区
- Delphi分解模块的技术
- 047_《Delphi技术手册》
- Delphi中的时间操作技术
- 通信工程专业分析
- 百度下的通信专业
- Vuln: Kaspersky Internet Security 6 SSDT Hooks Multiple Local Vulnerabilities
- 深入浅出asterisk(四):部署CDR MySql模块
- 粗谈Spring——从执行顺序来看说Spring
- 技术类(delphi)
- 倒影
- 一返回指定范围的不重复随机数类
- 很久了,没发博客了
- 开始写代码STEP_3
- 技术类2(delphi)
- 今天是正式学习C语言的第二天,收获不小!
- Ubuntu 安装 mediawiki
- 类的加载及初始化