关于TTable的用法,其中datasource的ODBC设置……请高手指教(200分)

  • 主题发起人 主题发起人 zz_linda
  • 开始时间 开始时间
Z

zz_linda

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue][/blue]我想实现从文本文件往ACCESS导入数据的功能。用BatchMove ,
需要用一个datasource做数据输入源,用另一个datasource 做数据输出源。
当我使用了一个TTable控件的时候,它的databaseName 我选择相应的ODBC
系统数据源(文本文件的),然后TableName是ODBC数据源指定的路径下的文
本文件,比如 :country.txt。
这时,我如果把TTable Active 的时候,会报出:无效的表名。
于是,我把country.txt后面的.txt 去掉,又报出:Tabledo
es not exist .
数据库引擎打不开文件。
我不知道怎么回事了…………
请各位多多指教!!
 
怎么没人理我呀 ?
 
表达清楚点。
不妨把代码贴出来看看
 
文本文件能做数据源吗?
 
同意楼上说明!
你可以先读文件文件的内容,然后将记录来个循环添加到ACCESS数据库中
的某个表中!!!
 
你有没有创建该 ODBC 数据库的别名?
TTable 的 DatabaseName 应当是一个数据库的别名,或Paradox数库表所在的目录名
 
ODBC里面有TEXT DRIVER ,而且我看到有相关的文档,关于使用文本文件作为数据源的。
如果说用代码,那我就不用多问了。。。
因为有不只一个的文本文件,使用代码的工作量将会是十分巨大的……
对于huawdg所提的数据库别名,我不知道你说的应该在什么地方设?在DataBaseName 一栏
里,会自动连接ODBC所有的数据源,我是直接从中选出的。 请讲的在具体些…………
 
如果你的TableName也是从下Object Inspect的下拉框中选的,应该没问题的
 
奇怪的就在这里!我的TableName 是从它的下拉框中选的!但报:Invalid Table Name !
劳烦您按下面步骤试试,看行不行……
1、在操作系统的控制面板中,打开“ODBC数据源”。
2、在“用户DSN”中单击“添加”,增加一个新的数据源。
3、选择数据源的驱动程序,本例选择“Microsoft Text Driver(*.txt,*.csv)”,
单击“完成”。
4、在“ODBC文本安装中”输入:
数据源名称:此名称将是访问ODBC数据库的识别名称,区分大小写,本例使用“TESTXT”。
描述:解释说明,可以缺省
目录:指定数据库的表单位置。本例为“c:/txt”
注:真正的数据库文件应该是一个包括若干表单的文件数据资料库,如*.nsf数据库文件,而*.TXT,*.DBF等文件不能叫数据库,只能是属于数据库中的一个表单。因此需要指定其文件所属的数据库文件,即目录地址,表示此目录下的所有*.txt文件都属于此数据库中的表单。
5、在定义格式中,需要指定*.txt文件字段之间的分隔符,此例为"Tab"
6、在指定*.txt表单的字段名称,本例为:
Field_Char:字符类型,10位
Fidle_Int:整数类型
7、全部完成后,在“用户DSN”中可以看到“TESTXT”,表示ODBC数据库设置完成。
8、在“c:/txt”目录中新建一个"abc.txt"文件,需要使用英文文件名称,数字有些问题,内容为
"aa" 1(用TAB分隔)
"bb" 2
这是建立ODBC和文本文件的过程,再在CBC里加上个TTable控件,试试…………
多谢了…………
 
但是ADO控件不能作为BatchMove 控件的 source 和 Destination 呀……
我看帮助,BatchMove 控件需要先:
Place the table or query component for the dataset from which you want to
import records (called the Source dataset) on a form or in a data module.
这怎么办?
 
[8D][h3]此问题可以这样解决:[/h3]
[h4]下边举例说明数据源的设置:[/h4]
源TXT文件:master.txt //文件以Tab键分隔字段,当然可以用逗号,引号等分隔
SYMBOL CO_NAME EXCHANGE CUR_PRICE YRL_HIGH YRL_LOW P_E_RATIO BETA
SMC STAR MOTOR CORP NYSE 59.625 63.5 35.625 9.4 1.25
TC THORTON CORP NYSE 27.5 28 15.75 9.2 0.95
//================================master.txt文件结束
[h4][gold]在配置ODBC时要注意选项设置。[/gold][/h4]
在选项中设置文件格式,系统会在该目录下自动生成schema.ini文件。
生成的schema.ini文件内容如下:
[master.txt]
ColNameHeader=True
Format=TabDelimited
MaxScanRows=25
CharacterSet=OEM
Col1=SYMBOL Char Width 255
Col2=CO_NAME Char Width 255
Col3=EXCHANGE Char Width 255
Col4=CUR_PRICE Float
Col5=YRL_HIGH Float
Col6=YRL_LOW Float
Col7=P_E_RATIO Float
Col8=BETA Float
//================================schema.ini文件结束
[h3][yellow]选择TBatchMove控件的数据源[/yellow][/h3]
在这里只能使用TQuery控件而不能使用TTable控件作为TBatchMove控件的数据源(Source)。
这一点很重要。
[h3][yellow]设置TQuery控件的SQL属性[/yellow][/h3]
代码:
Query1.SQL:='select SYMBOL,CO_NAME,EXCHANGE,CUR_PRICE,YRL_HIGH,YRL_LOW,P_E_RATIO,BETA from "master.txt" master';
这样设置后数据源OK,剩下的就看你的了。
[blue]祝你成功![/blue]
[:)]有问题可找我哦:mailto:Walnut_tom@hotmail.com
 
后退
顶部