MySQL + vb6

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

MySQL + vb6

Сообщение Q2W » 15.03.2005 (Вт) 13:32

Мне нужно соединиться с mysql сервером,
выполнить запрос
взять результат запроса в массив.

Просба: ответте поподробней.
Я знаю верный путь

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Re: MySQL + vb6

Сообщение snov » 15.03.2005 (Вт) 13:58

Hell /HiLevel Bot/ писал(а):Мне нужно соединиться с mysql сервером,
выполнить запрос
взять результат запроса в массив.

Просба: ответте поподробней.

1. Ставим дрова MySQL
2. Подключаем библиотеку ADO
3. Цепляемся к серверу
4. Данные из базы передаем в Recordset по средством Conection
5. В цикле перебераем все кортежи, а содержимое в массив

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Re: MySQL + vb6

Сообщение Q2W » 15.03.2005 (Вт) 14:40

snov писал(а):
Hell /HiLevel Bot/ писал(а):Мне нужно соединиться с mysql сервером,
выполнить запрос
взять результат запроса в массив.

Просба: ответте поподробней.

1. Ставим дрова MySQL
2. Подключаем библиотеку ADO
3. Цепляемся к серверу
4. Данные из базы передаем в Recordset по средством Conection
5. В цикле перебераем все кортежи, а содержимое в массив


1. Дай ссылку плиз.
2. Ну здесь разберусь.
3-5. Вот здесь напиши код, плиз.
Я знаю верный путь

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Re: MySQL + vb6

Сообщение snov » 15.03.2005 (Вт) 15:55

Hell /HiLevel Bot/ писал(а):1. Дай ссылку плиз.
2. Ну здесь разберусь.
3-5. Вот здесь напиши код, плиз.


1. mysql.org там и скажут, что куда вставляется и куда зщелкивается :)
3. библиотека подключеатся в Project>Refrences там выбираем Microsoft ActiveX Data Objects x.xx library
4.
Код: Выделить всё
dim conn as New ADODB.Connection
conn.Open CNTS

Где CNTS - ConnectionStringб по генерации их сюда: connectionstring.com
5.
Код: Выделить всё
Dim rs as ADODB.Recordset
..
Set rs=conn.Execute("Собсно запрос")

6.
Код: Выделить всё
While not rs.eof
  redim preserve a(ubound(a)+1)
  a(ubound(a))=rs.Fields("Поле")
  rs.movenext
wend

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 04.05.2005 (Ср) 15:01

Код: Выделить всё
Public conn As New ADODB.Connection
Public rs As ADODB.Recordset

Private Sub cmdConnect_Click()
    conn.Open "DRIVER=MySQL ODBC 3.51 Driver;User=root;Server=server;Database=q;Option=0;Password=mypass;"
    'Connection string соорудил сам по инфе отсюда: http://dev.mysql.com/doc/mysql/ru/myodbc-connect-parameters.html, ибо больше нигде не нашёл варианта лучше.
    'Уж на http://connectionstring.com этого я никак не нашёл. Там вапще какая-то хрень!
    conn.Close

End Sub


Говорит
Run-time error 8000ffff:
Разрушительный сбой
Я знаю верный путь

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 04.05.2005 (Ср) 17:03

www.connectionstrings.com

Ты про s на конце забыл :).

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 05.05.2005 (Чт) 8:44

Код: Выделить всё
    conn.Open "DRIVER={MySQL ODBC 3.51 Driver};Server=192.168.0.1;Port=3306;Option=3;Stmt=;Database=q;Uid=root;Pwd=mypass;"

Та же фигня!
Я знаю верный путь

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 05.05.2005 (Чт) 9:18

А у тебя вот эта шняга
MySQL ODBC 3.51 Driver
стоит? Открываешь Control Panel -> Administrative Tools -> Data Sources (ODBC). В этом апплете четвертая закладка - Drivers. Ну и ищешь в списке, какая именно версия ODBC-драйвера для мускула у тебя установлена, если вообще установлена хоть одна. Если ни одной не находишь - идешь сюда, выбираешь нужное и качаешь дистриб.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.05.2005 (Чт) 10:40

у него наверное просто MySQL не стартован :lol:

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 05.05.2005 (Чт) 10:54

Не, mySQL запущен на серваке, просто у меня драйвер кривой какой-то был. Поставил нормальный - заработало.

Щас Мучаюсь с двумя проблемами: русский текст сохраняется как-то криво (возвращаются вопросы) и не объявляется массив a из листинга snov'а (точнее объявляется, но при redim'е вылетает ошибка Array already dimensioned.
Я знаю верный путь

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.05.2005 (Чт) 11:50

Код: Выделить всё
Redim Preserve (n)

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 05.05.2005 (Чт) 12:15

Variable not defined
Я знаю верный путь

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.05.2005 (Чт) 12:29

Я тебе про ключевое слово Preserve толкую, а дальше сам смотри.
Код: Выделить всё
ReDim Preserve arr(1)

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 05.05.2005 (Чт) 13:25

Перед редимом как объявить массив?
Код: Выделить всё
'Если
    Dim a(10) As String ', то Array already dimensioned
'Если
    ReDim Preserve a(10) As String ', то Variable not defined
Я знаю верный путь

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.05.2005 (Чт) 13:31

Код: Выделить всё
Dim  a() as String

Redim a(10)

.....


Redim Preserve a(20)

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 05.05.2005 (Чт) 13:39

Отлично, а что делать с русскими символами в базе?
Hell /HiLevel Bot/ писал(а):русский текст сохраняется как-то криво (возвращаются вопросы)
Я знаю верный путь

alexanderz
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 16.01.2005 (Вс) 20:30
Откуда: Россия, Пермь

Сообщение alexanderz » 18.05.2005 (Ср) 6:56

Можно в поиске koders.com вбить "mysql" (без кавычек) - выдаст три модуля, а там уже сам... :)

MySQL ODBC (самая последняя версия под видны):
http://ftp.citkit.ru/pub/MySQL/Download ... -2-win.msi
http://forum.vbland.net/ - новый форум о программировании на Visual Basic

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 18.05.2005 (Ср) 10:25

тут их несколько больше трёх и всё - какая-то фигня. ОДБЦ у меня и так последнее.
Я знаю верный путь

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 21.05.2005 (Сб) 18:25

Ндя. По умолчанию мускул создает таблицы в кодировке Latin1. Тебе очевидно нужна 1251. Ковыряйся в настройках чтобы изменить умолчания, либо создавай правильно таблицы с указанием кодировки.

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 23.05.2005 (Пн) 9:18

Inferno, фишка не в таблицах, т.к. в моей проге русский текст, который возвратил MySQL в ответ на мой вопрос, показывается нормально.
Проблема с кодировкой именно в MySQL Query Browser.
Я знаю верный путь


Вернуться в Базы данных

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

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

    TopList  
cron