[求助]ASP.net读取文本文件到数据库的问题,散尽所有分,急请高手帮忙!!
我以前没做过动态网页,刚到一家新公司就接到一个asp.net2005的任务,要求在页面中按下一个按钮能弹出一个windows对话框,指定一个文本文件,然后读取文本文件的固定位置的数据写到sql server2005数据库的指定表的指定字段(要求aspx的语言用vb),希望大家给我一个正确的思路。
文本的例子如下:
=====================================
ELG KOREA CORP. 005817428 APLU 005817428
328 YI-DONG, UIWANG-CITY
KYUNGGI-DO, KOREA
SC GB07N0030I
TO ORDER OF FIRST COMMERCIAL BANK PAN KOREA EXPRESS CO LTD
18TH FL. HANA SECURITIES BLDG.
23-3, YOIDO-DONG, YOUNGDEUNGPO-GU
BUSAN, KOREA
YIEH UNITED STEEL CORPORATION
600, SHING LOONG ST., JIA HSING LII
KANGSHAN JENN, KAOHSIUNG HSIEN
TAIWAN R.O.C. **TAIWAN
BUSAN, KOREA
H. NATIONAL 065W BUSAN, KOREA
KAOHSIUNG, TAIWAN KAOHSIUNG, **
N/A 2 CONTAINER SLAC CY/CY
A)LV72000.00.00 30950.000KG 22.000M3
68232.989LB 776.923CF
STAINLESS STEEL SCRAP.
18/8 BLENDED SOLIDS SCRAP
CIF KAOHSIUNG
*P/O " A9606036 "
FREIGHT PREPAID
L/C NO.: 7AD2/00110/6703
(TWO CONTAINER ONLY)
***CTR NBR** ****SEAL NBR**** T/S HT MODE QUANT/TYPE WEIGHT MSMT
APZU334347-1 8721024 D20 86 CY/ CY 1VAN 15720.00KG 11.000M3
CAXU670866-5 8721027 D20 86 CY/ CY 1VAN 15230.00KG 11.000M3
TOTAL 2VAN 30950.00KG 22.000M3
** SHIPPER 'S LOAD, STOW AND COUNT **
=====================================
这个文本之所以这么乱,是因为要针打出来到固定格式的单子上的,所以不像一般的很有规律的文本文件每一行的格式都差不多。但其实它是有格式的,每行的第几到第几个字符是表示什么字段都是有规定的。
现在老板已经告诉我位置和相应的含义,但我对asp.net不熟,一下子想不出可行的思路。恳请高手指点!
[解决办法]
这不就是普通的上传文件么?
你把客户端的文件上传到服务器
然后在服务器端读文件就可以了
上传文件的Source自己Google
读文件看这个
http://msdn2.microsoft.com/zh-cn/library/db5x7c0d(VS.80).aspx
读完可以删除临时文件~~~~
[解决办法]
现在老板已经告诉我位置和相应的含义,但我对asp.net不熟,一下子想不出可行的思路
========
那就好办了哦
简单的纯文本处理,
假如你不去熟悉 .net 中关于文本、字符流相关的类使用,
就没有人能帮你了
本质上说,跟 asp.net 没关系
请使用
System.String 类的 Substring 等方法
System.IO.StreamReader System.IO.StringReader 类的 Read ReadLine 等方法
如何使用请见 MSDN, 有 VB 版
http://msdn2.microsoft.com/zh-cn/library/System.String.SubString.aspx
http://msdn2.microsoft.com/zh-cn/library/System.IO.StreamReader.aspx
http://msdn2.microsoft.com/zh-cn/library/System.IO.StringReader.aspx
[解决办法]
up1
[解决办法]
每行的第几到第几个字符是表示什么字段都是有规定的。
=====================================================
这不就行了吗?即使是空格,也是有意义的,那么不需要处理空格,则每次读取一行,用SubString(m,n)方法读字段,再做相应的处理……
Jinglecat(晓风残月 > > 问题需简洁,错误要详细,需求得明确)已经提供了你需要的知识点。
[解决办法]
System.IO.StringReader
读你的文本
System.Data.SqlClient.SqlCommand
写到DB