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中显示.
请大家帮帮忙..

解决方案 »

  1.   

    这样的数据格式需要自己作一下处理,默认的0034899000000会表示成科学技术法,070321会吧前边的0去掉,可以在导出CSV的时候给前面加单引号变成'0034899000000,或者变成="0034899000000",当然,在导入的时候还要对这样对格式作相应的处理
      

  2.   

    文本文件的导入我一般都是用streamreader直接读文件,然后用string.split('\t')处理一下,再insert进数据库,根本不存在你那样的问题,而且这样代码也不多,速度也很快。我总觉得用到database相关的类开销会比较大。
      

  3.   

    使用
    Schema.inihttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetschema_ini_file.asp
      

  4.   

    将Schema.ini放在当前文件夹下,
    http://support.microsoft.com/kb/149090/zh-cn