Страница: 1 |
Страница: 1 |
Вопрос: Работа с БД через интернет
Добавлено: 28.02.06 19:02
Автор вопроса: Lanback | ICQ: 271-209-305
Подскажите, плиз, как получить из VB6 доступ к базе данных MySql, которая находится на серваке в интернет.
С нетерпением жду ответов. Заранее благодарен.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 28.02.06 19:15
на
http://www.proglib.ru/
где-то есть пример: jjsql
Тама он на ассемблере, но не это важно... у него есть библиотека "libmySQL.dll" (212Кб) Работает с мускульной БД...
Идем далее, если ты реально заняться решил этой темой заняться, то: здесь http://www.mysql.com можно кажись скачать либы и сетап, установится как сервис, работать с их API...
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 11.03.06 21:01
Простенький пример:
#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>
#pragma comment (lib, "libmysql.lib"
#define DEFALT_SQL_STMT "SELECT * FROM disks"
#ifndef offsetof
#define offsetof(TYPE, MEMBER) ((size_t) &(TYPE *)0)->MEMBER)
#endif
int main(int argc, char *argv[]{
char szSQL[200], aszFlds[25][25], *pszT, szDB[50];
int i, j, k, l, x;
MYSQL *myData;
MYSQL_RES *res;
MYSQL_FIELD *fd;
MYSQL_ROW row;
//....just curious....
strcpy(szDB, "music"
strcpy(szSQL, DEFALT_SQL_STMT);
if((myData = mysql_init((MYSQL *)0)) &&
mysql_real_connect(myData, NULL, NULL, NULL, NULL, MYSQL_PORT, NULL, 0)){
if(mysql_select_db(myData, szDB) < 0){
printf("Can't select the %s database!\n", szDB);
mysql_close(myData);
return 2;
}
} else{
printf("Can't connect to the mysql server on port %d!\n", MYSQL_PORT);
mysql_close(myData);
return 1;
}
if(!mysql_query(myData, szSQL)){
res = mysql_store_result(myData);
i = (int)mysql_num_rows(res); l = 1;
printf("Query: %s\nNumber of records found: %ld\n", szSQL, i);
for(x = 0; fd = mysql_fetch_field(res); x++) strcpy(aszFlds[x], fd->name);
while(row = mysql_fetch_row(res)){
j = mysql_num_fields(res);
printf("Record #%ldn", l++);
for(k = 0; k < j; k++) printf( " Fld #%d (%s): %s\n", k+1, aszFlds[k],
(((row[k]==NULL)||(!strlen(row[k]))?"NULL":row[k]);
puts("==============================\n"
}
mysql_free_result(res);
}
else printf("Couldn't execute %s on the server!\n", szSQL);
mysql_close(myData);
return 0;
}
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 11.03.06 22:12
VB ?
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 12.03.06 01:21
Через ADO
ConnectString = "Provider=SQLOLEDB.1;Persist Security Info=Falseata Source=" & serverOrFilename & ";User ID=" & IIf(UserName <> "", UserName, "" & ";Password=" & IIf(Password <> "", Password, "" & ";" & IIf(DatabaseName <> "", "Initial Catalog=" & DatabaseName & ";", ""
потом Open, далее ничего от локальной не отличается
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 12.03.06 11:45
Перевод тривиален
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 12.03.06 16:02
LOL
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 12.03.06 16:25