具体是这样
程序中是将ORACLE的数据扒出来 存放到本地的ACCESS临时表中 然后进行相关统计
表结构是一样的,原来的就等于是吧ORACLE的表记录COPY了一份到ACCESS中
例如:
oracle: 张三 1 出勤
access: 张三 1 出勤 姓名字段原来是只有一个人的名字,现在可能出现多个人的名字用/分割
需要实现以下功能:
例如ORACLE中的一条记录 如
张三/李四/王五 1 出勤
变成ACCESS中的
张三 1 出勤
李四 1 出勤
王五 1 出勤
问下这种拆分怎么实现 谢谢
程序中是将ORACLE的数据扒出来 存放到本地的ACCESS临时表中 然后进行相关统计
表结构是一样的,原来的就等于是吧ORACLE的表记录COPY了一份到ACCESS中
例如:
oracle: 张三 1 出勤
access: 张三 1 出勤 姓名字段原来是只有一个人的名字,现在可能出现多个人的名字用/分割
需要实现以下功能:
例如ORACLE中的一条记录 如
张三/李四/王五 1 出勤
变成ACCESS中的
张三 1 出勤
李四 1 出勤
王五 1 出勤
问下这种拆分怎么实现 谢谢
解决方案 »
- VCLZip解压的问题
- 请问360杀毒如何做到这点的?
- 实现转动的小球用什么技术比较好呢?opengl?dx?
- 紧急求助!如何将保存在数据库中的二进制流转换成WORD文档
- 为什么我导入excel没问题,但是只要有一个excel窗口是开的,就报错..
- 我如何才能把窗体中的所有内容全部打印出来?form.print只能打印可见部分,而我要打印的很长,请问各位怎么做,非常感谢!
- 触摸荧采用双显示器,一台主机,两台显示器要显示不同的内容
- 高分请教矢量图形处理source code
- 请问高手用什么方法操纵文本文件?
- csdn.net的bug
- 有人尝试过 delphi 2007 了吗?谈谈感受
- 关于DELPHI写的DLL的在PB中调用的问题请教
1、从orcle中取出数据;
2、判断名称字段包含多少人名,依次加入数组中;
3、循环数组,再将其他字段一起插入Access表中;
begin
try
with dm do
begin
if Qry_WorkLoad.IsEmpty then //从ORACLE取回的数据集
begin
Qry_WorkLoad.Close;
warnmsg('您查找的数据不存在!');
result:=false;
exit;
end;
//删除本地表workloadstat数据
DelDataTable('workloadstat');
qrytemp.Close;
qrytemp.SQL.Clear;
qrytemp.SQL.Add('select * from workloadstat');
//打开本地表workloadstat
qrytemp.Open;
Qry_WorkLoad.First;
application.ProcessMessages;
//把查询到的数据写入本地表workloadstat
while not Qry_WorkLoad.Eof do
begin
//探听消息队列有无消息
while PeekMessage(msg,0,0,0,PM_REMOVE) do
begin
//处理得到的消息
DispatchMessage(msg);
end;
//当用户点击进度窗体关闭时,ifstatprogress=false,此时此次统计就结束
//通常ifstatprogress=true,统计照常进行
if IfStatProgress=true then
begin
qrytemp.Append;
QryTemp.FieldByName('StudyID').AsVariant:=Qry_WorkLoad.FieldByName('StudyID').AsVariant;
QryTemp.FieldByName('Status').AsString:= Qry_WorkLoad.FieldByName('Status').AsString;
QryTemp.FieldByName('ClassName').AsString:= Qry_WorkLoad.FieldByName('ClassName').AsString;
QryTemp.FieldByName('EnrolDoctor').AsString:= Qry_WorkLoad.FieldByName('EnrolDoctor').AsString;
QryTemp.FieldByName('Nurse').AsString:= Qry_WorkLoad.FieldByName('Nurse').AsString;
QryTemp.FieldByName('CheckDoctor').AsString:= Qry_WorkLoad.FieldByName('CheckDoctor').AsString;
QryTemp.FieldByName('OperateDoctor').AsString:= Qry_WorkLoad.FieldByName('OperateDoctor').AsString;
QryTemp.FieldByName('ChiefDoctor').AsString:= Qry_WorkLoad.FieldByName('ChiefDoctor').AsString;
QryTemp.FieldByName('ReportDoctor').AsString:= Qry_WorkLoad.FieldByName('ReportDoctor').AsString;
QryTemp.FieldByName('lodgedate').AsString:= Qry_WorkLoad.FieldByName('lodgedate').AsString;
QryTemp.FieldByName('CheckDate').AsString:= Qry_WorkLoad.FieldByName('CheckDate').AsString;
QryTemp.FieldByName('ReportDate').AsString:= Qry_WorkLoad.FieldByName('ReportDate').AsString;
QryTemp.FieldByName('MassDoctor').AsString:= Qry_WorkLoad.FieldByName('MassDoctor').AsString;
QryTemp.FieldByName('num').AsVariant:=1;
qrytemp.Post;
Qry_WorkLoad.Next;
end
else //用户终止统计过程
begin
result:=false;
exit;
end;
end;
Result:=True;
end;
except
warnmsg('操作失败!');
exit;
end;
end