社区
Delphi
帖子详情
一个简单问题,100分,马上给分!!!!!!
norxi
2002-09-09 11:32:52
在做一个系统,里面用的是ORACLE的数据库
可是发票系统是国税局的,用的是FOXPRO的
要把国税局系统里面的发票数据的三张表(.BDF的)导到ORACLE里面,而且要有选择的导入(按填写的发票号导入)
ORACLE用的是BDE 连的
这里的FOXPRO 用什么连?
因为不知道具体的那三张表的文件目录,可能会变的 (这是最麻烦的地方)
怎么办??
...全文
20
4
打赏
收藏
一个简单问题,100分,马上给分!!!!!!
在做一个系统,里面用的是ORACLE的数据库 可是发票系统是国税局的,用的是FOXPRO的 要把国税局系统里面的发票数据的三张表(.BDF的)导到ORACLE里面,而且要有选择的导入(按填写的发票号导入) ORACLE用的是BDE 连的 这里的FOXPRO 用什么连? 因为不知道具体的那三张表的文件目录,可能会变的 (这是最麻烦的地方) 怎么办??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
9igogo
2002-09-09
打赏
举报
回复
mark up
jyqkr
2002-09-09
打赏
举报
回复
odbc也可以
dejoy
2002-09-09
打赏
举报
回复
FOXPRO也可以用bde连,可以动态设定三张表的文件目录。
Delphi中的Table控件(Component)和Query控件都有一个DatabaseName属性。可以用DatabaseName属性来指定该控件所引用的数据表的路径。有两种方法可以为属性DatabaseName设置路径:第一种方法是直接输入数据表所在路径,另一种方法是使用数据库别名(Alias)。在Delphi中,数据库别名是在数据库引擎(BDE)中建立的,一个别名对应一个文件路径。可以这样为别名下定义:别名是对文件路径的映射,是文件路径的简称。因此,在属性DatabaseName中使用数据库别名和使用文件路径实质都是一样的,它们都作为查找数据表的根(Root)路径。但是,在数据库应用程序的设计中,如果涉及到的Table控件和Query控件比较多的话,那么使用别名来引用文件路径就十分高效、方便,并且不容易出差错。原因是显而易见的:一方面,别名可以在列表中直接选取而不必像文件路径那样从键盘上输入;另一方面,别名可以设置得很简短,即使从键盘录入也比较快捷。因此,笔者建议要多使用数据库别名而少使用文件路径。
另外,在Table控件的属性TableName和Query控件的SQL语句中,都可以包含数据表的路径信息。因为Query控件和Table控件的情况十分相似,所以下面只对Table控件进行说明。这种路径信息既可以是一个完整的路径,也可以是一个完整路径的后面部分。比如对Table控件的属性TableName赋值时,可以把C:\Delphi\Demos\Data\CustomerDB赋给它,也可以把Data\CustomerDB赋给它。
在实际应用中,我们可以把Table控件的属性DatabaseName和属性TableName结合起来使用。把属性DatabaseName中的路径作为根路径,把属性TableName中的不完整路径(如果有的话)作为子路径。把这两个路径结合起来就是访问到数据表的一个完整的路径。比如,假设在路径C:\Delphi\Demos\Data下存在数据表CustomerDB,把Table控件的属性DatabaseName指定为C:\Delphi\Demos\Data,然后把属性TableName指定为CustomerDB,就可以访问数据表CustomerDB了。如果属性DatabaseName指定为C:\Delphi\Demos,要想访问数据表CustomerDB,只要把属性TableName指定为data\CustomerDB就行了。有时候这二者并不同时起作用。例如,如果属性TableName中包括了完整的路径,那么属性DatabaseName中的路径就不起任何作用了。又如,如果属性DatabaseName中没有指定任何路径,而属性TableName中的路径又是不完整的,如Data\CustomerDB,那么应用程序运行时的当前路径就作为根路径。为了便于程序移植,笔者有两点建议:
1、通常,只需要在属性DatabaseName中指定数据表的路径,而在属性TableName中不必包括路径信息。
2、一般情况下,不要在属性TableName中指定完整的路径。
下面就来介绍一下如何提高数据库应用程序的移植性。
数据库应用程序的移植是一个重要的问题。因为在数据库应用程序中要访问数据库或数据表,就要涉及到数据文件的路径。一般来说,数据库应用程序开发完成后要移植到其它机器上使用,因此数据库应用程序运行时的数据文件的路径很可能和开发时的不同。所以必须对数据文件的路径进行有效的管理,以便于系统的移植。下面介绍三种管理数据文件路径的方法。
1、把数据文件建立在应用程序所在目录的子目录下。具体过程为:
(1)为了设计起来方便,在设计时可以使用数据库别名,且该数据库别名指向应用程序所在路径。把子路径名加上数据表名字之后赋给Table控件的属性TableName。
(2)在发行应用程序前,把所有的Table控件或Query控件的属性Active都置为False,删除属性DatabaseName中的所有字符(即置空)。
在缺省情况下,应用程序运行时的当前目录是应用程序所在的目录。如果在应用程序中没有调用ChDir等过程改变当前目录的话,那么就不必执行第三步,否则进行第三步的处理。
(3)在使用到Table控件和/或Query控件的窗体的创建(OnCreate)事件中,把应用程序所在路径赋给该窗体中的每一个Table控件和Query控件。具体的形式如下所示:
Table对象(或Query对象)DatabaseName:=ExtractFilePath(ApplicationExeName);
2、利用配置文件存放数据库路径
此方法是在应用系统安装或第一次运行时把数据库路径信息写入配置文件,以后运行时把路径信息从配置文件中读出。配置文件的读写利用类TIniFile(Delphi1.0和Delphi3.0) 、类TRegIniFile(Delphi 3.0/4.0)和类TRegistry(Delphi3.0/4.0)所提供的方法来实现。各个方法具体的用法请查阅Delphi联机帮助。本方法的基本思路为:
(1)为了设计方便,在设计时可以使用数据库别名。
(2)同1的步骤(2),但必须进行第三步的处理。
(3)同1的步骤(3)类似。即,在窗体的创建事件中把数据库路径赋给该窗体中的每一个Table控件和Query控件,用形式化语言描述如下:
Table对象(或Query对象)DatabaseName:=配置文件记录中的数据库路径。
3、利用数据库别名存放数据库路径
在设计时使用数据库别名。在应用系统安装或第一次运行时利用系统对象Session在BDE中建立与设计时相同的别名,使别名指向相应的数据库路径。下面的代码说明了如何建立名字为“FDB”的别名,它的数据库路径为d:\test,数据库类型为Paradox。
Session.ConfigMode:=cmAll;
Session.AddStandardAlias(′FDB′,′d:\test′,′PARADOX′);
Session.SaveConfigFile; {保存新建立的别名}
注:在Delphi1.0中Session对象不具有第三种方法中所用到的属性和方法。以上三行代码在Delphi3.0/4.0下调试通过。
从上面的讨论可以看出,方法三实现起来最简单,其次是方法一,最后是方法二。笔者认为,如果应用系统是用Delphi3.0/4.0开发的,那么应尽量使用方法三。
norxi
2002-09-09
打赏
举报
回复
3x
很多人想要的net+cs文件91haofang源码
说明一下,此源码已经经过详细测试,保证完整好用! 本站源码下载区源码大部
分
都是测试过的,有些只是
简单
测试一下,提供给从网友也是给大家
一个
学习或者 为了方便大家做站而使用,并不是百
分
之百拿来就用的,很多还是需要自已进行后期加工的,请不要再问我一些为什么源码不完整的
问题
了!如果想选择绝对无错完整的源码,您可以选择商业区的源码下载!
最好的追梦飞翔数字报软件
说明一下,此源码已经经过详细测试,保证完整好用! 本站源码下载区源码大部
分
都是测试过的,有些只是
简单
测试一下,提供给从网友也是给大家
一个
学习或者 为了方便大家做站而使用,并不是百
分
之百拿来就用的,很多还是需要自已进行后期加工的,请不要再问我一些为什么源码不完整的
问题
了!如果想选择绝对无错完整的源码,您可以选择商业区的源码下载! 另外说明一下,请选择好你的测试工具,很多朋友用的是
简单
的ASP调试工具,那个东西虽然能
简单
调试,但很不专业,很多很好的源码都是调试不出来的,推荐大家专业的话,应该用IIS,还有,SQL数据库的源码,如果不会用的话,请不要下载了! 注:如果此源码侵犯了您的利益,请立刻联系我们,我们会
马上
处理掉的!
精品包装公司源码商业版
说明一下,此源码已经经过详细测试,保证完整好用! 本站源码下载区源码大部
分
都是测试过的,有些只是
简单
测试一下,提供给从网友也是给大家
一个
学习或者 为了方便大家做站而使用,并不是百
分
之百拿来就用的,很多还是需要自已进行后期加工的,请不要再问我一些为什么源码不完整的
问题
了!如果想选择绝对无错完整的源码,您可以选择商业区的源码下载! 另外说明一下,请选择好你的测试工具,很多朋友用的是
简单
的ASP调试工具,那个东西虽然能
简单
调试,但很不专业,很多很好的源码都是调试不出来的,推荐大家专业的话,应该用IIS,还有,SQL数据库的源码,如果不会用的话,请不要下载了! 注:如果此源码侵犯了您的利益,请立刻联系我们,我们会
马上
处理掉的!
完整好用远程控制软件
远程控制软件 说明一下,此源码已经经过详细测试,保证完整好用! 本站源码下载区源码大部
分
都是测试过的,有些只是
简单
测试一下,提供给从网友也是给大家
一个
学习或者 为了方便大家做站而使用,并不是百
分
之百拿来就用的,很多还是需要自已进行后期加工的,请不要再问我一些为什么源码不完整的
问题
了!如果想选择绝对无错完整的源码,您可以选择商业区的源码下载! 另外说明一下,请选择好你的测试工具,很多朋友用的是
简单
的ASP调试工具,那个东西虽然能
简单
调试,但很不专业,很多很好的源码都是调试不出来的,推荐大家专业的话,应该用IIS,还有,SQL数据库的源码,如果不会用的话,请不要下载了! 注:如果此源码侵犯了您的利益,请立刻联系我们,我们会
马上
处理掉的!
SNKRS抽签协议开发项目
本公司寻 NIKE抽签协议项目开发 需 程序 认真深入 研究 项目后 报价! 重点,批量账号登录,和下单提交,付款时,需要JS解析动态参数组合! 1未抓包仔细
分
析的匆扰! 2未协议解决批量登录的勿扰(抓包
分
析动态参数组合解决登录后报价,未
分
析未解决勿扰) 3不能与我方沟通思路和进度的勿扰! 4先接单再
分
析的勿扰,
简单
看看就报价的勿扰! 5不懂的觉得钱好赚的勿扰!需解决,akamai风控,要解决ip及设备匹配
问题
,需要逆向, 协yipj,来高手!!! 仔细
分
析过,确保百
分
百能搞定的,能在实战中保证中签率的技术,请给我们报价! PS,1,协议可能不是每个技术都能搞定,请先认真确定,你是否绝对OK! 2,抢购软件是
一个
动态的项目,非APP,办公软件类静态项目,动态项目需结合市场的竞争角度,
简单
的说,市面上已经存在很多,IOS,安卓,网页版协议,需要与这些外挂竞争,请确保能走通协议的你,在细节上,优化上是否不落后于竞争者太多, 效果上,实战见风晓! 欢迎沉稳靠谱,有实力,有自信的技术与我们深入合作! 网页端:https://www.nike.com/cn/launch/ 手机端:SNKRS
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章