一个高难度的delphi的问题,有思路即可送分(200分)

  • 主题发起人 主题发起人 wishme4
  • 开始时间 开始时间
W

wishme4

Unregistered / Unconfirmed
GUEST, unregistred user!
我要从一个文本文件中读取数据存到本地数据库中,同时通过串口(modem)将该
文本文件发送到另一台机上
比如一个文本文件的格式如下:
david 12 male
jone 18 female
mikejoe 21 male

要存的表结构是(MSSQL)
name(varchar,10)
age(int,3)
sex(char,6)

不足位数补空格,思路该怎如何?有没有这方面的例子?
 
根据对原来的FOXBASE下数据库文件格式的分析,我有一点启发:即可以在文本文件存放数据
时用特殊符号将两个记录以及各字段之间隔开,当然字段间的特殊字符应有别于两条记录间
的特殊字符。不知数据库MSSQL有没有直接从文本文件里取数据的方法,如果有的话那就方便
多了。如果没有,那就只有编程添加了。在用串口发送时,关注的也是数据还原的问题,只不
过你要确定一次发送的长度,这个长度我想应该是你的一条记录的长度。然后,传送到对方后,
还应该有一个程序负责把数据还原,也就是去掉你加入的那些特殊字符。当然,如果你仅仅
是把数据传过去而不做处理,那么就不必还原了,这个程序也不用写了。

好的,以上就是我的一点看法,希望能对你有所帮助。
 
MSSQL和Access都支持从文本文件里读数据,可以用空格也可以用其它字符区分
SQL Server 2000的help中有详细说明
你试试把MSSQL的一张表导出为文本文件,分析一下就清楚了
 
无论是MSSQL还是Access都可以按照一定的分隔符将数据从文本文件中读出,具体可以多看一下
相关的帮助。另外Delphi的Read方面的帮助也必须看
 
在程序员大本营上好像有这方面的控件,自己找找
 
我写有一个冲进销存软件读数据到财务软件的程序跟你那个差不多
其实你的文本文件如果没有怪字户,应该很好做的
有兴趣的话。EMAIL:ZHANG888 @21.CN
 
odbc好像可以直接配置一个文本文件型的数据源吧?(没试过,想当然而已)
如果这样,不就和数据库是一样的了吗?
可能分隔符要用tab或者逗号吧。
 
输入入本地库简单,直接使用文件文件方式打开,然后进行简单的处理即可。
COM口传输,不知是直接传输还是另有MODEM。如是是有MODERM,也就不需要特别针对串口
编程。如果不是MODERM,那就找个控件来对串口进行操作,如 MSCOMM,TurboPower Asy3
等。
 
还是Ras好做,程序实现容易
 
use excel open this file, then export to accesss
 
var
sFile:textfile;
sName:array[0..9] of string;
sSex:array[0..5] of string;
sAge:integer;

assginfile(sFile,'*.txt')
reset(sfile);
while not eof(sfile) do
begin
readln(sfile,sName,sAge,sSex);
adotable.apprendrecord([sName,sAge,sSex])
end;

如果是不规则的TXT文件就只能单个字符串提取。
传送文件利用serversocket和clientsocke传送字符串
读写也和上面差不多
 
可以在ODBC直接配置文本数据库.
并且可以设置分隔符比如,;TAB 或空格也可以自己定义,
这样与普通数据库一样操作,但是用TTable构件操作时可能会有些问题
用Query以及Ado操作没有问题,我这么用过
 
后退
顶部