Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407

PureBasic и mySQL

31.10.2011, 14:47. Показов 6071. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста создать подключение и произвести действие с БД MySQL.

На VB.NET это все выглядит пристойно, несколькими строками, а в PureBasic никак не могу найти внятного примера.

Вот пример на VB.NET:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Imports MySql.Data.MySqlClient
 
Dim txtServer As String = "localhost"
        Dim txtUsername = "root"
        Dim txtPassword As Integer = "123456"
        Dim CONNECTION = New MySqlConnection()
        CONNECTION.ConnectionString = "server=" & txtServer.ToString & ";" _
    & "user id=" & txtUsername.ToString & ";" _
    & "password=" & txtPassword & ";" _
    & "database=bd"
 
        CONNECTION.Open()
 
 
            Dim dt As Date = Date.Now
            Dim COMMAND2 = New MySqlCommand("UPDATE Statistic SET SessionEnd = now()  WHERE kluch = '" & kluch & "'")
            COMMAND2.Connection = CONNECTION
            COMMAND2.ExecuteNonQuery()
 
 CONNECTION.close()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2011, 14:47
Ответы с готовыми решениями:

PureBasic 4.60
Пару дней назад вышла версия 4.60. Демо версии можно скачать на официальном сайте http://purebasic.com/download.php В этой версии...

PureBasic
Есть такая замечательная разновидность диалекта бейсика именуемая PureBasic. Сайт разработчика http://www.purebasic.com/ Рускоязычное...

Изучать ли purebasic?
Здравствуйте. У меня такие цели, подскажите пожалуйста подойдет ли purebasic для них: 1. создание оконных приложений на только windows,...

15
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
31.10.2011, 15:10
Интересует подключение к удаленной базе или же подойдет не серверная база?
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 15:12  [ТС]
Le Thaw, интересует подключение к localhost (127.0.0.1).
Нсколько я понимаю, подключившись так, я смогу подключиться и к удаленному хосту.
0
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
31.10.2011, 15:15
PureBasic
1
2
3
4
5
6
7
  UsePostgreSQLDatabase() 
 
   If OpenDatabase(0, "host=localhost port=3360", "root", "password") 
     Debug "Connected to PostgreSQL" 
   Else 
     Debug "Connection failed: "+DatabaseError() 
   EndIf
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 15:17  [ТС]
Le Thaw, вот именно - это уже пробовал - не получается

Connection failed: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" and accepting
TCP/IP connections on port 3360?
0
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
31.10.2011, 15:19
Если изменить строку так
PureBasic
1
OpenDatabase(0, "localhost", "root", "password")
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 15:24  [ТС]
Le Thaw, к сожалению. Как-то мутно все это
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
31.10.2011, 15:24
Если в гугле вбить код ошибки 0x0000274D/10061, то можно найти причину ее возникновения.
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 15:32  [ТС]
PB, не очень охотно Гугл выдает решение проблемы, особенно если учесть, что ищу способ подключения к MySQL а не к PostgreSQL
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
31.10.2011, 15:36
PureBasic для работы с MySQL использует PostgreSQL, потому что бесплатно.
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 15:41  [ТС]
Цитата Сообщение от PB Посмотреть сообщение
использует PostgreSQL, потому что бесплатно.
бесплатно - и бесполезно.
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
31.10.2011, 15:43
Можно использовать библиотеку из вложения.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
hDB = mysql_init(#Null)
If hDB
  If mysql_real_connect(hDB,"localhost","root","","",3306,"NULL",#Null)
    If mysql_select_db(hDB,"test")
      Test_Error(hDB)
    Else
      mysql_autocommit(hDB,#True)
      Test_Server(hDB)
      Test_Processes(hDB)
      Test_Dbs(hDB)
      Test_Tables(hDB)
      Test_String(hDB)
      Test_CharSet(hDB)
      Test_Query(hDB,"SELECT NOW()")
      Test_Query(hDB,"SELECT NOW() 'DateTime', (1+2*16) 'Expression'")
      Test_Query(hDB,"DROP TABLE people")
      Test_Query(hDB,"CREATE TABLE people (id INT(8) NOT NULL AUTO_INCREMENT, firstname VARCHAR(64), name VARCHAR(64), PRIMARY KEY (id), UNIQUE KEY id (id), UNIQUE KEY name (name))")
      Test_Query(hDB,"INSERT INTO people VALUES('','Jean','Dupont')")
      Test_Query(hDB,"INSERT INTO people VALUES('','Patrice','Durand')")
      Test_Query(hDB,"INSERT INTO people VALUES('','Hйlиne','Dubois')")
      Test_Query(hDB,"INSERT INTO people VALUES('','Lйon','Martin'),('','Nathalie','Morin'),('','Hйlиne','Dujardin')")
      Test_Query(hDB,"UPDATE people SET firstname='Valйrie' WHERE firstname='Hйlиne'")
      Test_Query(hDB,"SELECT firstname,name FROM people ORDER BY name ASC")
      Test_Stmt(hDB)
    EndIf
  Else
    Test_Error(hDB)
  EndIf
  mysql_close(hDB)
EndIf
Вложения
Тип файла: rar libmysql5.rar (471.2 Кб, 133 просмотров)
1
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
31.10.2011, 20:22
Можно еще посмотреть эту инфу, правда она на английском.
Там есть такой код
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
; survival guide 13_9_110 mysql 
; pb 4.40b1 
; 
UseODBCDatabase() 
; 
Enumeration 
  #cars_firstname 
  #cars_lastname 
  #cars_brand 
  #cars_colour 
EndEnumeration 
; 
If OpenDatabase(1,"mysql","root","root",#PB_Database_ODBC) = 0 
  Debug "cannot open" 
Else 
  ; 
  DatabaseUpdate(1, "DROP TABLE cars" ) 
  DatabaseUpdate(1, "CREATE TABLE cars ( firstname TEXT , lastname TEXT , brand TEXT , colour TEXT ) ;" ) 
  DatabaseUpdate(1, "INSERT INTO cars VALUES ( 'jan peter' , 'balkenende' , 'volvo' , 'black' ) ;" ) 
  DatabaseUpdate(1, "INSERT INTO cars VALUES ( 'michael' , 'schumacher' , 'ferrari' , 'red' ) ;" ) 
  DatabaseUpdate(1, "INSERT INTO cars VALUES ( 'johnny' , 'fireman' , 'mack' , 'red' ) ;" ) 
  DatabaseUpdate(1, "INSERT INTO cars VALUES ( 'mick' , 'jagger' , 'cadillac' , 'black' ) ;" ) 
  ; 
  DatabaseUpdate(1, "UPDATE cars SET colour = 'red'"+#CRLF$+"WHERE lastname = 'balkenende' ;" ) 
  DatabaseUpdate(1, "UPDATE cars SET colour = 'black'"+#CRLF$+"WHERE lastname = 'schumacher' ;" ) 
  ; 
  DatabaseUpdate(1, "DELETE FROM cars WHERE lastname = 'schumacher' ;" ) 
  ; 
  DatabaseQuery(1, "SELECT * FROM cars WHERE cars.colour = 'black' ORDER BY cars.brand ;" ) 
  While NextDatabaseRow(1) > 0 
    x.s = GetDatabaseString(1,#cars_firstname) + " , " 
    x.s = x.s + GetDatabaseString(1,#cars_lastname) + " , " 
    x.s = x.s + GetDatabaseString(1,#cars_brand) + " , " 
    x.s = x.s + GetDatabaseString(1,#cars_colour) 
    Debug x.s 
  Wend 
  FinishDatabaseQuery(1) 
  CloseDatabase(1) 
  ; 
EndIf
К сожалению нет требуемой базы данных чтобы проверить корректность его работы.

Добавлено через 4 часа 8 минут
Цитата Сообщение от abbat81 Посмотреть сообщение
Connection failed: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" and accepting
TCP/IP connections on port 3360?
Разве MySQL использует порт 3360?
А если попробовать порт 3306 и правильный логин/пароль?
Code
1
2
3
4
5
6
UsePostgreSQLDatabase()
If OpenDatabase(0, "host=localhost port=3306", "root", "123456")
  Debug "Connected to PostgreSQL"
Else
  Debug "Connection failed: "+DatabaseError()
EndIf
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 20:26  [ТС]
PB, Порт и вправду - 3306. Но это и так понятно.
Вобщем ,пример с вложением - действенный.
Но есть куча вопросов.
в этом примере закидывать слова в кириллице отказывается, после компиляции в редакторе крякозяблы. Как то несовместимо с поддержкой кирилицы в примере "Привет Мир". Будем изучатью

2) Нужно научиться использовать коннект по сухому.
Тоесть строка подключения, запрос, закрытие.
В примере не могу разобрать одно от другого
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
31.10.2011, 20:37
Цитата Сообщение от abbat81 Посмотреть сообщение
Тоесть строка подключения, запрос, закрытие.
В примере не могу разобрать одно от другого
Подключение
Code
1
mysql_real_connect(hDB,"localhost","root","","",3306,"NULL",#Null)
закрытие
Code
1
mysql_close(hDB)
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
31.10.2011, 21:07  [ТС]
PB, Нужно еще определить вот это
hDB = mysql_init(#Null)

Добавлено через 23 минуты
Осталось выяснить, как в приведеном примере заносить в БД имена на кириллице.
А так всоде вцелом работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2011, 21:07
Помогаю со студенческими работами здесь

Из vbs в purebasic
Если есть, кто может помочь с переводом из vbs в purebasic, то просьба помочь. Нужно перевести код из скрипта vbs в код purebasic. Код...

Возможности PureBasic
PureBasic Shaders Clothes Simulation Physics Демонстрация тестовой версии игры Домино3D Онлайн Демо Версия Меню SDP...

Литература по PureBasic
Небольшая подборка учебников и обучающих материалов на русском. Она будет полезна тем, кто только начинает изучать язык PureBasic.

Sound в PureBasic
Приветствую всех. Когда-то, очень давно, на cyberforum была моя тема о выборе бейсика для написания звуковой игры. Для информации: ...

Purebasic 5.0 + html
Как использовать PB в web разработке ? Возможно ли применить его вместо JS и PHP ? Откликнитесь кто знает ответ !


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru