今天在论坛上看到一个问题,这个问题大概是这样的,读取文本文件中指定的几列,并存储入数据库中。
Insus.NET花上些少时间,实现读取文本的功能部分。
创建一个文本文件,文本添加好几行。每一行有好几列,列与列之间使用逗号分隔。
adf,adfadf,adsfgads,qwer,wrt,wrey,asdfs,qwer,tryerqert6uy7,468u4,578,qewrqew,qwertwet,67u46,45676,45qer87,47857,et356y,etyedghadsadf,adfadf,adsfgads,qwer,wrt,wrey,asdfs,qwer,tryert6uy7,468u4,5ZXC78,qewrqew,qwertrtwet,67u46,456qer76,4wu1587,47wr857,etyty,etyedghadwrf,adfadf,adsfgads,qwuier,wrqert,wrey,aswrtdfs,qwer,try790ert6uy7,468u4,572458,qewrqew,qwertwet,67u46,45676,4rwt587,47857,etuoipy,etyedghad356f,adf1324adf,adsfgads,qwasdfer,wrt,wrey,asdfs,qwer,tryert6uy7,468u4,5rt78,qewrqew,qwertwetyet,67u46,45676,4zcxv587,47857,ety,etyedghadf356,adfadf,adsfga34ds,qwer,wrt,wrey,asdfs,qwer,tryert6uy7,468u4,578,qewwtrrqew,qwerqertwet,67u4ety6,45676,4587,47857,etwey,etyedghad869f,adfeadf,adsfqrgads,qwer,wrt,wrey,as689dfs,qwer,trytyert6uy7,468u4,578,qewrqew,qweroyiotwet,67u46,45676,4535687,47857,ety,etyedgh
你如果也想使用这些文本来演示,可以拷贝并存储为.txt文件。
接下来可以实现了,不管文本文件是否有列名,这不是关心的,关心的是数据表的列名即可。
以数据表写作一个model,如:
这个类别中,你可以看到一个解释函数:TryParase();它是处理文本数据行的。实现了读取文本文件每一个前10列。当然读取多少列,你可以另改啦。
还有,你还要注意文本每一行是否有空行,每行头尾是否有空格。列数是否够,是否有其它规则的分隔字符等。
然后你就可以在程序中使用这个数与函数了:
上图的代码中,Insus.NET是把获取的数据显示于GridView控件中,省略了存储入数据库的功能。
最后是显示结果: