说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

实现不同数据库系统之间的数据转移-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
实现不同数据库系统之间的数据转移-Delphi资料

在 计 算 机 应 用 系 统 的 软 件 升 级 改 造 过 程 中, 我 们 经 常 遇 到 这 样 一 个 问 题: 老 系 统 的 数 据 库 平 台 与 新 系 统 不 同。 例 如, 老 系 统 的 数 据 库 平 台 是Foxpro, 而 新 系 统 的 平 台 是SQL Server。 而 且, 我 们 需 要 把 旧 的 数 据 库 应 用 系 统 中 的 一 些 数 据 转 移 到 新 系 统 来。 但 是 因 为 新 老 系 统 在 定 义 数 据 类 型、 数 据 格 式 等 方 面 的 差 异, 就 很 难 用 人 工 录 入 的 方 法 来 实 现。 因 此, 需 要 有 一 个 能 实 现 这 种 功 能 的 程 序。

本 文 利 用Borland Delphi 实 现 了 这 个 转 移 过 程。

基 本 思 想 是: 在 一 个Form 中, 分 别 用 两 个TDatabase 控 件 连 接 新 老 数 据 库。 并 采 用 TTable、TDbGrid 作 为 数 据 转 移 的 中 心, 根 据DbGrid 中 的 数 据 生 成 标 准 的SQL 插 入 语 句。 这 样, 就 实 现 了 从 一 个 数 据 库 系 统 到 另 一 个 数 据 库 系 统 的 数 据 转 移。 在 这 里, 采 用TTable、TDbGrid 作 为 数 据 转 移 的 中 心 是 一 个 技 巧, 因 为:TTable 的Fields 属 性 能 指 示 出 某 字 段 的 字 段 名 称、 数 据 类 型 等, 这 为 数 据 转 移 过 程 中 的Insert 语 句 的 生 成 及 数 据 类 型 转 换 提 供 了 依 据。

下 面 的 例 子 展 示 了 从Foxpro 到SQL Server 的 数 据 转 移 方 法。 至 于 其 他 系 统 间 的 数 据 转 移, 只 要 根 据 目 标 系 统 的 数 据 定 义 要 求, 修 改 相 应 的Insert 语 句。

程 序 代 码 如 下:

unit ConvertDBF;

interface

uses

Windows

Messages

SysUtils

Classes

Graphics

Controls

Forms

Dialogs

StdCtrls

DBTables

Db

Grids

DBGrids;

type

TfrmConvertDB = class(TForm)

btnOK: TButton;

Label1: TLabel;

db1: TDatabase; {用于连接老数据库系统}

db2: TDatabase; {用于连接新数据库系统}

dbg: TDBGrid;

tblSource: TTable; {dbg的Datasource}

qryInsert: TQuery;

{用于存放生成的SQL Insert语句}

srcSource: TDataSource;

tblDest: TTable; {DBGrid1的Datasource}

DBGrid1: TDBGrid;

srcDest: TDataSource;

edFromtbl: TEdit;

Label2: TLabel;

Label3: TLabel;

edToTbl: TEdit;

procedure btnOKClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmConvertDB: TfrmConvertDB;

implementation

{$R *.DFM}

procedure TfrmConvertDB.btnOKClick

(Sender: TObject);

var iField :integer;

begin

if ((edTotbl.text<>'') and

(edFromtbl.text<>''))then begin

tblSource.TableName:=edFromtbl.text;

{指定TableName}

tblDest.TableName:=edTotbl.text;

with tblSource do begin

Open; {打开老系统的表}

while EOF=FALSE do begin

{逐条记录处理}

qryInsert.SQL.Clear;

qryInsert.sql.Add

('Insert into '+edTotbl.text + '(');

for iField:=0 to dbg.FieldCount-1 do begin

qryInsert.sql.add

(dbg.Fields[iField].DisplayLabel);

if iField<>dbg.FieldCount-1 then

qryInsert.sql.add('

');

end;

qryInsert.sql.add(') values(');

for iField:=0 to dbg.FieldCount-1 do begin

{进行数据类型转换}

if dbg.fields[iField].DataType=ftInteger then

qryInsert.sql.add(inttostr

(dbg.fields[iField].asInteger));

if dbg.fields[iField].DataType=ftFloat then

qryInsert.sql.add(floattostr

(dbg.fields[iField].asFloat));

if dbg.fields[iField].DataType=ftDate then

qryInsert.sql.add(''''+datetostr

(dbg.fields[iField].asDateTime)+'''');

if dbg.fields[iField].DataType=ftString then begin

if dbg.fields[iField].asString<>'' then

qryInsert.sql.add(''''+dbg.fields

[iField].asString+'''')

else

qryInsert.sql.add('NULL');

end;

if iField<>dbg.FieldCount-1

then qryInsert.sql.add('

');

end;

qryInsert.sql.add(')');

qryInsert.ExecSQL;

{把数据插入到新系统的表中}

next;

end;

end;

tblDest.Close;

tblDest.Open;;

ShowMessage(' 转换完毕! ');

end

else

ShowMessage

('请输入要插入数据的表的名称 ');

end;

end.

在任务栏中显示无边框窗体的图标-VB资料 在系统菜单上添加自定义菜单项 -VB资料 在运行时动态生成多个相同的控件?-VB资料 在最小化状态时提供提示 -VB资料 暂时禁止窗口更新-VB资料 VB怎样得到文本框(TextBox)中的文本行数? 制造出透明的Form -VB资料 VB制作半透明窗体和形状不规则的窗体 VB制作方向按钮 VB制作渐变的窗口背景色 字体闪烁 -VB资料 自动改变控件大小-VB资料 自制IE风格按纽控件-VB资料 VB6.0中通过MSChart控件调用数据库 用VB6实现动态增减控件 ActiveX控件的创建-VB资料 ADO控件和DATA控件的冲突(不能共存)的解决方法-VB资料 Combo的自动查询技术 -VB资料 DirectX7.0使用心得(1) -VB资料 DirectX7.0使用心得(2) -VB资料 DirectX7.0使用心得(3) -VB资料 FSO对象模型在VB中的应用 MsComm 控件的文字传输范例 -VB资料 Office或IE4风格的ToolBar -VB资料 Regsvr32.exe注册控件的具体用法-VB资料 TextBox的自动调节 -VB资料 TextBox实现打印机效果 -VB资料 TreeView的基本操作-VB资料 VB5中DBGRID控件在VB6中使用 VB与MS-Draw开发通用作图软件 VB中APP对象及其应用 关于导出数据窗口数据的问题,明白人请进! delphi可不可以用于自动控制方面的开发呢 如何使对话框程序执行就让整个屏幕背景变黑色?? 想了解有关程序考试的一些情况? 不同系统就不可以直接电缆直接吗? 怎样使用PQMAGIC对硬盘进行调整分区 memory fault--core dumped的问题 有谁知道怎么解win98的开机密码? 用 procedure 与 trigger 、database link 能完成吗? flowerofwind,rjcludy()请回答 COM中的一个怪问题:我将::CoUninitialize();去掉后程序不出错,添上出现非法操作,是啥问题??? 请问?????? 如何在程序中播放rm格式的文件??? edit怎么用啊? JB6盘中不含 Borland Enterprise Server AppServer5.0,各位快载一个上去吧! 如何改变显示的分辨率? 那里有c#编译器免费下载?谢谢 如何在vc中播放rm格式的文件??? 那位大侠知道怎么创建并使用一个变量,每次只让一个进程访问???给个例子吧,大大大 大 delphi中怎么编写中断,获取外部设备传来的信息?急救!! 数值模拟与计算仿真,高手请帮忙! 请问:dos下图形放大算法或思路?还有.........(高手请进) 求教!!!!SOS!! --请问如何将一个BMP图形文件转成JPG图形文件,高分请教师--- 高分给出,win98的怪问题! 打印统计问题 请教 : html的javascript 中报错:document.Form1.client_name.value不是对象 VC++里面如何从文本文件中一行一行读取文件? 请问,如何用mail函数批量发送邮件.多谢. 各位请教一下,Jsp 的服务resin在win2000下是怎样配置的 各位兄弟: 有谁知道 侯杰 的 <多线程程序设计> 什么时候才能买到??? 哪里有VFP3.0下载? system.ini和win.ini的作用 怎样生成安装包,多谢! 如何在两个不同的应用程序之间拖动文本字符 请问,PTSTR 和 PSTR 有什么不同? 反对上海电信变相涨价的行为。我能不能告中国电信“违约”和“欺诈”呢。 求救!误删Office2000注册表! 生成.exe出错 在Excel中,如何让某些行不能滚动? 在--成都--程序员能拿多少--¥--???? 换了17寸纯平显示器,开心,放分. 错装PB7,不能无create datawindows的图标,全是XX,为什么? 请问怎样遍历一个页面中服务器端的所有对象? 能否跟我说说——自动控制方面——与delphi编程的基本常识?我一直想了解,但不知道我们编的程序如何去跟那些硬件搞在一起而且控制硬件呢? 程序出错 发现一个不错的网站!www.ffboy.com 兩個Recordset之間數据轉入和轉出問題???. 高手請進......(一定給分) 大家推荐一下 ,win2k 下的 XML 编辑器。 请问男女之间存不存在真正的友情? 请教一下,怎样打印 java applet绘出的图形?,要用java 编写 高手请进!!!关于数据库 已知长度为L的直导线通有电流I时,在方向垂直导线的磁场中受到的安培力为F=BIL,其中B为磁场的磁感应强度,是由此公式导出单个运动电荷在磁场中所受的洛伦兹力f的表达式 为什么这一题不可以认为安培力做功代数和为零所以机械能守恒?(2005广东卷)如图所示,两根足够长的固定平行金属光滑导轨位于同一水平面,道轨上横放着两根相同的导体棒ab、cd与导轨构 生物的生命活动都需要水,即使在干旱的环境里,生物提也有相应的结构去适应,例如生活在沙漠地区的骆驼,它的胃分为3个室,第1个室附生20~30个水脬,作贮水用,通过关闭汗腺可以正在较长的时 为何:当导线方向与磁场方向一致时,电流不受安培力? 求高中物理机械能守恒的练习现在已经高三了,复习到现在发现以前机械能守恒学得很不好,有的题做起来挺累,希望大家可以给一些有关这方面的复习或是加强的练习.不要太简单的,不过也不 只有重力和弹力作用时,机械能守恒.这句话为什么不对 洛伦兹力与安培力的区别洛伦兹力是微观的,这我知道.但为什么洛伦兹力不做功,安培力却做功呢?还有,两者的考点在哪里? 自然界的水分是怎样循环的 只有重力和弹力作用时,机械能一定守恒.为什么 有关洛伦兹力和安培力的描述,正确的是() A.通电直导线在匀强磁场中不一定受到安培力的作用 B.电有关洛伦兹力和安培力的描述,正确的是()A.通电直导线在匀强磁场中不一定受到安培力 电场力做功 机械能守恒吗 机械能守恒时,物体一定只受重力和弹力的作用!为什么错 洛伦兹力与安培力的一些问题?带点粒子在磁场中受到洛伦兹力,带电导线在磁场中受到安培力.可以这样说,洛伦兹力是安培力的微观本质原因,而安培力是洛伦兹力的宏观表现.有这样一个关系 机械能守恒时,物体一定只受重力或弹性力的作用这句话错在哪?请举一下例子, 物体的机械能守恒,一定只受重力和弹力作用.请解释为什么错误 安培力和洛伦兹力,哪个是磁场力? 机械能守恒 为什么除重力外有 力做正功 机械能会增大? 判断:只有重力和弹力作用时,机械能才能守恒. 原子是怎样构成分子的(例如水分子)要写出过程,就是他构成的过程.一楼和2楼的怎么说得是完全不同吖,水是由水分子还是离子组成吖。这个才是关键。老师说是分子,但它又有化合价, 对数函数求导证明)f(x)=loga^xf'(x)=lim (loga^(x+Δx)-loga^x)/Δx=lim loga^[(x+Δx)/x]/Δx=lim loga^(1+Δx/x)/Δx=lim ln(1+Δx/x)/(lna*Δx)=lim x*ln(1+Δx/x)/(x*lna*Δx)=lim (x/Δx)*ln(1+Δx/x)/(x*lna)=lim ln[(1+Δx/x)^(x/Δx)]/(x*lna) ①=li 外力只有重力和弹力做功,机械能守恒吗? 在轨道上的导体棒在磁场的作用下什么时候安培力为0 除了静止那种情况以外 对数函数求导计算问题如图,对数函数的导数公式:(logaX)导等于1/xloga e,不懂,不知道怎么算这题. 重力弹力均做功的条件下机械能守恒么 从原子结构上解释水分子的构成 自然界的水包括什么? 机械能守恒为什么只有重力或弹力做功?弹力是只指弹簧的拉力吗?能讲一下为什么是重力或弹力这个条件而不是别的什么摩擦力啊什么的?讲的细致一点行吗?我的物理不是很好 就是构成水分子的氢,氧原子重新组成()和()的过程 水的物理性质如何?自然界的水一般是怎么样的? 对数函数怎么求导 一个水分子是由几个水原子组成? 水和自然界的水有什么差别? 使水在水自然界日夜不停的循环的主要原因是什么是什么原因 同一平面内的两条直线有哪几种位置关系?限30分钟 水分子是由什么构成的,离子还是原子氢氧根离子和一个氢离子还是氢原子和氧原子 自然界的水通过什么使水得到净化 在同一个平面内,两条直线有哪几种位置关系? 导体棒斜着切割磁场,怎么计算导体棒两端电势差?用安培力F=BLV该怎么用? 高分求复变量的对数函数的求导公式的推导(急!)实变量的指数函数e^x的导数等于e^x,这个我会推导,但是复变量的指数函数e^z(z=x+iy)的导数等于e^z,就是(e^z)'=e^z这个我就不会推导了.现在急等 空间内直线与平面的位置关系有几种 对磁场切割磁场线运动的导体棒,电流、磁感应强度恒定不变,那么由左手定则得出安培力的方向,右手定则得出运动方向,由此可以得到,切割磁场运动的导体棒速度和力的方向一定相反,安培力 求导数,f(x)=loga为底的x(X>0),有具体的对数函数求导公式吗? 通电导线所受的安培力方向,磁场方向,电流方向三者之间一定是相互垂直的.这话错哪了 关于反函数求导,有Ψ(y)的导数与f(x)的导数互为倒数的说法.这种说法中的Ψ(y)的y是指新函数的y还是指原函数f(x)中x对应的y? 既有重力做功又有弹簧弹力做功,机械能还守恒吗比如一弹簧下端连一个小物体,吊在屋顶上,将其拉到水平位置从静止释放,请问对小物体来说机械能守恒吗? 在平面上的三条直线a、b、c有几种位置关系?并说明全说出来 高二物理安培力的功导体切割磁场问题! 只受重力和弹簧弹力做功时物体机械能守恒 这句话对吗 一小段通电直导线在磁场中受到的安培力的方向一定垂直电流的方向么? 在磁场边界上算不算有安培力? 比如一根导体棒在磁场中切割,运动到磁场边界上,算是出去了(没有安培力比如一根导体棒在磁场中切割,运动到磁场边界上,算是出去了(没有安培力了),还是 只有重力、库仑力和弹簧弹力做功的系统机械能守恒 之句话对还是错 在三角形ABC 中AB等于10 BC等于6,经过点C且与AB相切的动员与CB,CA分别相切与E,F求EF最小值额 在三角形ABC 中AB等于10 BC等于6,经过点C且与AB相切的动员与CB,CA分别相切与E,F求EF最小值 电磁感应中导体棒切割磁场使得灯泡发光,这里的安培力做功等于灯泡的热量还是电功 [把小球放在竖直的弹簧上] 是不是同时有重力和弹力做功?此时机械能守恒吗? 安培力的方向怎样确定?怎么判断磁场方向和电流方向?有没有具体画图判断安培力方向的题如题怎么确定磁力线方向 轻杆AB长2L,A端连在固定轴上,B端固定一个为2m的小球,中点c固定质量为m的小球,AB可以绕着A转动,现将轻杆置于水平位置,然后又静止释放,不计各阻力,求:1 AB杆转到竖直位置时,两小球速度大小2 自然界水是怎么循环运动的 在B=2T的匀强磁场中放一枚与磁场方向垂直长度为0.8的通电导线导线中的电流为5A.求导线受到安培力大小 机械能守恒习题如图一轻杆长1米,可绕O轴载竖直平面无摩擦转动,OA=0.6M,OB=0.4M,质量相等的两小球分别固定于A,B两端,先把干水平,然后竖直释放,求杆转到竖直位置时两小球速度分别是多少?A------ 向浮动着云、流动着得水一样自然是什么词?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn