Работа с Access

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Работа с Access

Сообщение Alexey-VB » 17.07.2009 (Пт) 23:30

Подскажите как дописать код. Нужно открыть файл Access и из таблицы значений выбрать - подходящее.

Начал с примера так:
Код: Выделить всё
        myConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\iptocountry.mdb;"
        myConn.Open()
        strSQL = "select co_name from ip_base where ip_from<=" & IPNumber & "and ip_to>=" & IPNumber


А вот что писать после этого? Нужно получить данные с колонки "co_code", которая будет соответствовать выбранному значению.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Работа с Access

Сообщение Nord777 » 18.07.2009 (Сб) 1:39

Код: Выделить всё
         Dim command As New OleDbCommand(strSQL , myConn)
         Dim Reader As OleDbDataReader = command.ExecuteReader()

         Do While Reader.Read
         ......
         Loop
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Re: Работа с Access

Сообщение Alexey-VB » 19.07.2009 (Вс) 11:38

Дело в следующем, хочу сделать проверку ip-адреса с помощью vb.net и access.
для этого сделал базу "ip_base" в access с списком ip-адресов. В базе 3 колонки: "ip_from" (начальный диапазон адресов), "ip_to" (конечный диапазон адресов), "co_name" (страна где зарегистрирован ip).

Далее нужно в vb.net открыть базу, сделать запрос и получить результат.

Я делаю так:

Код: Выделить всё
    Dim myConn As New OleDbConnection
    Dim myCmd As New OleDb.OleDbCommand
    Dim myDA As New OleDbDataAdapter
    Dim myDR As OleDbDataReader
    Dim strSQL As String

        myConn.Close()
        myConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\iptocountry.mdb;"
        myConn.Open()


        'strSQL = "select co_name from ip_base where ip_from<=" & IPNumber & " and ip_to>=" & IPNumber


Что далее писать в коде что бы отправить запрос и получить результат?
Пробовал это:

Код: Выделить всё
        myCmd.CommandText = strSQL
        myCmd.Connection = myConn
        myDA.SelectCommand = myCmd
        myDR = myCmd.ExecuteReader()


Но ра строке "'myDR = myCmd.ExecuteReader()" - выходит ошибка.

Подскажите как дописать код для отправки запроса и получения результата в переменную, а то я только убиваю время в пустую :?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Работа с Access

Сообщение Nord777 » 19.07.2009 (Вс) 11:42

Но ра строке "'myDR = myCmd.ExecuteReader()" - выходит ошибка.
Как звучит ошибка?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Re: Работа с Access

Сообщение Alexey-VB » 19.07.2009 (Вс) 12:49

Ошибка - "Отсутствует значение для одного или нескольких требуемых параметров." OleDbExeption was unhandled bu user code.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Работа с Access

Сообщение Nord777 » 19.07.2009 (Вс) 13:55

  1. Ты обратился не в тот раздел. Тебе надо сюда: ASP.NET
  2. select co_name from ip_base where ip_from<=" & IPNumber & "and ip_to>=" & IPNumber
    В твоей базе отсутствует поле co_name, но есть поле co_code(исправь это в своём запросе)
  3. поля (ip_from и ip_to) имеют тип данных - MEMO. Замени их на числовой, а поле co_code на текстовый.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 78

    TopList  
cron