急....急...CSV文件导入问题

qianduo 2007-03-21 12:32:57
Dim file_info As New System.IO.FileInfo(strfilepath)
'Dim strConn As String = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + file_info.Directory.ToString() + ";Extensions=asc,csv,tab,txt;HDR=No"

Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn += file_info.Directory.ToString()
strConn += ";Extended Properties=""text;HDR=No;FMT=Delimited"""
Dim objConn As New OleDb.OleDbConnection(strConn)
Dim dscsv As New DataSet

Try
'objConn.Open()

Dim strSql As String = "select * from " + file_info.Name.ToString()
Dim odbcCSVDataAdapter As New OleDb.OleDbDataAdapter(strSql, objConn)
odbcCSVDataAdapter.Fill(dscsv)
odbcCSVDataAdapter.Dispose()
objConn.Close()

Catch ex As Exception

End Try

--------------------------------------
为什么导入0034899000000
在datagridview中显示的却是3.4899E+10
还有就是当导入070321的话也会变成70321
我是想把这所有的当成字符串导入到dataset中,然后再在datagridview中显示.
请大家帮帮忙..
...全文
375 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
meteoroid1984 2007-03-21
  • 打赏
  • 举报
回复
数据库中的这个字段设置为字符型
在程序中上传文件名的时候 如果是数字的话 在文件名上 加上 “” 应该可以吧?
dahuzizyd 2007-03-21
  • 打赏
  • 举报
回复
这样的数据格式需要自己作一下处理,默认的0034899000000会表示成科学技术法,070321会吧前边的0去掉,可以在导出CSV的时候给前面加单引号变成'0034899000000,或者变成="0034899000000",当然,在导入的时候还要对这样对格式作相应的处理
孟子E章 2007-03-21
  • 打赏
  • 举报
回复
将Schema.ini放在当前文件夹下,
http://support.microsoft.com/kb/149090/zh-cn
孟子E章 2007-03-21
  • 打赏
  • 举报
回复
使用
Schema.ini

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetschema_ini_file.asp
h_lj 2007-03-21
  • 打赏
  • 举报
回复
文本文件的导入我一般都是用streamreader直接读文件,然后用string.split('\t')处理一下,再insert进数据库,根本不存在你那样的问题,而且这样代码也不多,速度也很快。我总觉得用到database相关的类开销会比较大。
bhujm 2007-03-21
  • 打赏
  • 举报
回复
CSV文件导入,嗯,学习。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧