Delphi中TXT文件 数据库你要在TXT文本文件的相同目录下建一个Schema.ini文件,其格式如下: [文本文件.txt] Format=Delimited( ) Format=FixedLength ColNameHeader=true col1=a01 Text width 5 col2=a02 Text width 3 你可以先用access导入文本文件,这样省点事 To:panlong 我用你的办法实现了我的要求,但还有一个问题想请教一下。那就是有没有办法让数据导入到Access表的同时让其自动变成多个字段(字段数由用户设置) ______________________ 12850 001 24545 424 54784 211 00000 000 01252 455 48573 784 而到数据库时则是,也就是让数据按Z字型规律进入到数据库中 a01 b01 a02 b02 ------------------------ 12850 001 24545 424 54784 211 00000 000 01252 455 48573 784 因为我发现如果在导入数据库后我再去做这些动作的话比原来的处理方法还要慢啊!! To:刘gw 不是我不想那样操作,而是这个数据库必需加有密码的,也就是不能让操作者能够打开这个数据库。并且在导入时还需要进一步做些加密处理。 还有一个办法是使用excel打开文本文件,选用固定分隔符分隔,excel会自动将不同字段分隔,然后再用access导入就ok 使用文本数据库,然后TBatchMove 28.6文本文件数据库表 Delphi为在程序中访问文本文件数据库提供了有限的支持。这种数据库必须包含两个文件:一个 数据文件,其扩展名必须是TXT,另一个是概要(schema)文件,其扩展名为SCH,而且这两个文件的 名称必须相同(例如FOO.TxT和FOOSCH)。数据文件的长度应该是固定的,或者有分界符加以分隔。 而概要文件则提供了诸如字段名称、长度和类型等信息,以使BDE知道如何解释数据文件。 28.6.1概要文件 概要文件的格式和windows的INI文件类似。分节的名称(S ection Name)就是数据库表的名称(去掉 扩展名)。表28一5列出了概要文件中用到的项及其可能的取值。 28.6.3使用文本数据库表 使用TTable组件可以访问文本数据库表,方式与访问其他类型的数据库表相似。首先,要把DatabaseName属性设为一个包含数据文件(T xT)和概要文件(S cH)的别名或目录,再把TableType属性 设为ttAscll。现在,就可以在object Inspector中设置TabfeName属性来指定一个文本数据库表。再在 TDatasource组件与TDBGrid组件之间建立关联关系,这样,就可以从网格中看到每个字段的值,如图 28一21所示。 注意如果所有的字段都挤在一列里,就可能是由于BDE无法正确读取概要文件。 28.6.4限制 事实上,Borland并不倾向于使用文本数据库格式。由于文本文件所固有的局限,建议大家只在不 是从真实的数据库中输入或输出数据时,才使用文本数据库表。下面列出了使用文本数据库表时要注 意的限制: ·不支持索引。所以,TTabfe中要用到索引的方法都无法调用。 ·不能使用TQuery组件来访问文本数据库表。 ·不支持删除记录。 ·不支持插入记录。插入的记录会被加到表的末尾。 ·不支持引用完整性验证。 ·不支持BLOB字段。 ·不能编辑VARYING类型的数据库表。 ·文本数据库总是以独占方式打开的。因此,只能在程序代码中打开文本数据库,而不能在设计 期打开。 28.6.5从文本数据库表中引入数据 正如前面所提到的,文本数据库表最好转换为实际的数据库格式。下面要做的就是利用 TBatchMove组件一步一步地把一个文本数据库表转换为一个Paradox表。假设窗体上包含两个TTabfe 组件和一个TBatchMove组件,其中代表文本数据库表的TTabfe组件为TextTbl,代表目标P盯adox表的 TTable组件为PooxTbl,TBatchMove组件名称为BM。操作步骤如下: l)将TextTbl与要引入的文本数据库表关联。 2)把PDoxTbl的DatabaseName属性设为目标数据库的别名或目录,把TableName属性设为目标数28.6.5从文本数据库表中引入数据 |
|