Aravindba Ответов: 2

Как прочитать ip-адрес из CSV-файла в VB.NET ?


Привет
У меня есть один csv-файл с IP-адресом столбца, когда я читаю csv-данные и привязываюсь к datatable, я получаю только 1-й dight.

если ip адрес такой 192.168.0.13
я получу только 192.168,остальное пропущено. Столбец Ip-адреса в csv-файле ведет себя как десятичное значение.Как читать полные значения.

Dim fileneme As String = file1.FileName
Dim filepath As String = Server.MapPath(".") & "\" & Session("userid")
Dim strConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=Text;"
                        Dim conn As New OleDbConnection(strConnString)

                        Try
                            conn.Open()
                            Dim cmd As New OleDbCommand("SELECT IPADDRESS FROM [" & fileneme & "]", conn)
                            Dim da As New OleDbDataAdapter()

                            da.SelectCommand = cmd

                            Dim dt As New DataTable()

                            da.Fill(dt)
                            da.Dispose()


Что я уже пробовал:

Если я добавлю двойные кавычки в значение ip-адреса в csv,то я получу полное значение с двойными кавычками в datatable, но не могу добавить двойные кавычки.
Пожалуйста ответьте как можно скорее


С уважением

Аравинд

2 Ответов

Рейтинг:
1

OriginalGriff

Это потому, что когда Jet читает данные CSV, он предполагает, что 192.168-это число, и обрабатывает его как таковое. Он не "знает", что это IP-адрес, он просто смотрит на первый символ после запятой и говорит: "а, числовой. Это номер, я его разберу."
IP-адреса в CSV-файлах должны быть разделены двойными кавычками, чтобы сделать их строками, если только вы не пишете (или не изменяете существующий) CSV-ридер.


Рейтинг:
0

Patrice T

Как уже сказал OriginalGriff, без двойных кавычек формат ip-адреса сталкивается с десятичным форматом, таким образом, возникает проблема.
Есть несколько решений:
- самым стандартным решением является встраивание ip-адреса между двойными кавычками. Программа чтения должна позаботиться об этом, так как она соответствует стандарту CSV.
- создайте пользовательскую процедуру для непосредственного чтения файла io ...
- Используйте вариант. Я всегда использую вариант формата CSV с вкладками вместо запятых и ничего вокруг текстовых полей. И я делаю рутину, чтобы сделать прямое чтение.