Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2012, 15:01   #91
partizanes
Пользователь
 
Регистрация: 11.03.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
То что на выходе MD5Hash должна быть строка, а не массив Byte.
так работает
Код:
cmd = gcnew MySqlCommand("INSERT INTO `users` VALUES (NULL,"+"'"+login+"'"+","+"'"+System::Text::Encoding::ASCII->GetString(MD5hash(System::Text::Encoding::ASCII->GetBytes(pass)))+"'"")",conn);

Последний раз редактировалось partizanes; 23.03.2012 в 16:55.
partizanes вне форума Ответить с цитированием
Старый 16.05.2012, 03:54   #92
kokain30000
Новичок
Джуниор
 
Регистрация: 14.05.2012
Сообщений: 1
По умолчанию

Что-то, когда пытаюсь воссоздать СУБД "Библиотека" в VS 10, то получается ошибка на ошибке, которая ошибкой погоняет. Может мне кто-то помочь и объяснить, как на VS написать СУБД используя mysql? Пожалуйста, очень нужно и очень срочно, вплоть до того, что могу заплатить за помощь.
kokain30000 вне форума Ответить с цитированием
Старый 23.05.2012, 15:02   #93
Хоттабич
статус
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 35
По умолчанию Один коннект для всех форм.

Доброго времени суток. Работаю с мусколом в c + + builder 6, Для каждой формы объявляю переменные
Код:
 
 ...
  # include <windows.h>
  # include <include/mysql.h>
...
MYSQL * Con;
MYSQL * db;
MYSQL_RES * Res;
MYSQL_ROW Row;
MYSQL_FIELD * Fields;

затем соответственно конект и выборка:

mysql_server_init (0, NULL, NULL);
  db = mysql_init (NULL);
  Con = mysql_real_connect (db, "127.0.0.1", "user", "pass", "база", 3306, NULL, 0);

if (! Con) {
     / / AnisString error = mysql_error (db)
     ShowMessage (mysql_error (db));
}

  AnsiString sql = "SELECT password FROM users";
  mysql_query (db, sql.c_str ());
  Res = mysql_store_result (db)
  if (mysql_num_rows (Res)> 0) {
   while (Row = mysql_fetch_row (Res)) {
    Memo1-> Lines-> Add (Row [0]);
   }
  }
Все прекрасно работает, но для следующей формы необходимо вновь объявлять переменные и заново подключаться к БД, что этого не делать решил использовать один коннект для всех форм, вынес в отдельный файл mysql_go.h:
Код:
# include <windows.h>
# include <include/mysql.h>
# include "Unit1.h"
# include "Unit2.h"

MYSQL * Con;
MYSQL * db;
MYSQL_RES * Res;
MYSQL_ROW Row;
MYSQL_FIELD * Fields;

# pragma comment (lib, "libmysql.lib")

MYSQL * mysql_go () {

mysql_server_init (0, NULL, NULL);
db = mysql_init (NULL);
Con = mysql_real_connect (db, "31.28.167.203", "mikro-f_user", "programspass", "mikro-f_warehouse", 3306, NULL, 0); / / mysqlua.ukrhosting.com 3306 "192.168.0.11:3128"

if (! Con) {
/ / AnisString error = mysql_error (db)
ShowMessage (mysql_error (db));
} Else {
/ / ShowMessage ("Подключение к БД успешно.");
}


return db;
}
}
а для каждой формы просто подключаю # include "mysql_go.h", но коннект работает только для первой формы, а для всех остальных сообщение об ошибке нет но при попытке выборки выдает ошибку
Access violation at address 1000B6A in module "LIBMYSQL.DLL". Read of address 00000358.
такое впечатление что он просто не видит соединение с базой данных. Помогите плис...
Безвыходных ситуаций нет, есть ситуации из которых мы не знаем выход.

Последний раз редактировалось Хоттабич; 23.05.2012 в 15:04.
Хоттабич вне форума Ответить с цитированием
Старый 23.05.2012, 15:36   #94
Хоттабич
статус
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 35
По умолчанию Один коннект для всех форм.

И снова вопрос, как вернуть конект для конкретной формы я уже разобрался, для этого для каждой формы мы описываем
Код:
extern MYSQL * db;
и затем конектимся
Код:
db = mysql_go ();
после этого все работает, но если подключиться с 2 формы то этот коннект работает и для 1 формы, а если сначала подключиться с 1 формы то для 2 формы он не работает, то надо заново конектись к базе и тогда уже работать. Подскажите пожалуйста как это исправить.
Безвыходных ситуаций нет, есть ситуации из которых мы не знаем выход.
Хоттабич вне форума Ответить с цитированием
Старый 23.05.2012, 15:59   #95
Хоттабич
статус
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 35
По умолчанию Один коннект для всех форм.

Все вопрос решен, функция mysql_go () будет иметь следующий вид:
Код:
MYSQL * mysql_go () {

if (! db) {
/ ************** Connect to DB ********************** /
mysql_server_init (0, NULL, NULL);
db = mysql_init (NULL);
Con = mysql_real_connect (db, "31.28.167.203", "mikro-f_user", "programspass", "mikro-f_warehouse", 3306, NULL, 0); / / mysqlua.ukrhosting.com 3306 "192.168.0.11:3128"

if (! Con) {
/ / AnisString error = mysql_error (db)
ShowMessage (mysql_error (db));
} Else {ShowMessage ("Conn true");}
/ ************** Connect to DB ********************** /
}

return db;
}
теперь если соединение является то просто возвращаем подключения, а если нет то подключаемся, все так же во всех формах надо
Код:
db = mysql_go ();
Эх какой я молодец, сам спросил - сам ответил
Безвыходных ситуаций нет, есть ситуации из которых мы не знаем выход.

Последний раз редактировалось Хоттабич; 23.05.2012 в 18:10.
Хоттабич вне форума Ответить с цитированием
Старый 09.06.2012, 13:40   #96
Redline 117
 
Регистрация: 27.01.2010
Сообщений: 4
По умолчанию

Добрый день. Я создаю графическую оболочку на VS C++ 2008 для работы с СУБД MySQL 5.0. Программа должна вносить данные, выводить на экран и обновлять таблицы. Использовал код приведённый в данной теме, всё отлично работает, но возникла проблема. При нажатии кнопки должен выполняться запрос: select truncate (sum(reading),4),truncate(sum(price ),2) from counter_db where id_device = 100000 and month(ddate) = 3;
От MySQL я получаю два значения. Как мне потом их вывести в textBox?

textBox9->Text = System::Convert::ToString(row[0]);

В данном случае почему то используется ToString(Boolean) в textBox9 выводится значение либо True либо False в зависимости от наличия данных. Но мне нужны сами значения. Очень долго мучаюсь. Заранее спасибо.
Redline 117 вне форума Ответить с цитированием
Старый 10.06.2012, 17:37   #97
Redline 117
 
Регистрация: 27.01.2010
Сообщений: 4
По умолчанию

Насколько понял из варнинга: warning C4800: 'char *' : forcing value to bool 'true' or 'false' (performance warning)
становится задача перевода char в системный стринг.

Использовал код:
String^ str = gcnew String(row[0]);
textBox10->Text = str;

Выдаётся ошибка: "В экземпляре объекта не задана ссылка на объект" Это уже при выполнении кода. В одном из первых постов нашёл такой перевод, но не смог в нём разобраться: http://programmersforum.ru/showpost....14&postcount=1
начиная со слов: Есть замечания для VC++ WinForms.... Заранее спасибо.
Redline 117 вне форума Ответить с цитированием
Старый 19.07.2012, 11:02   #98
kair
Новичок
Джуниор
 
Регистрация: 15.03.2009
Сообщений: 2
По умолчанию

nacgull Огромное спасибо!!! VS 2010, долго не мог сделать преобразование
strcpy_s( host, (char*)Runtime::InteropServices::Ma rshal::StringToHGlobalAnsi( hostText->Text ).ToPointer() );
kair вне форума Ответить с цитированием
Старый 25.07.2012, 22:23   #99
kair
Новичок
Джуниор
 
Регистрация: 15.03.2009
Сообщений: 2
По умолчанию

если кому нужно, то еще можно так делать преобразование из String^ в char[]
ToUTF8(host, buf, hostText->Text); //(visual 2010)
а это из char* в String^
String ^tmp = ToUCS2(mysql_error(&mysql));
kair вне форума Ответить с цитированием
Старый 04.08.2012, 05:43   #100
raul riverra
Новичок
Джуниор
 
Регистрация: 04.08.2012
Сообщений: 4
По умолчанию

помогите срочно мне нужна проекта в C + + / су платить 2500 $ raulriverra@yahoo.com

Последний раз редактировалось raul riverra; 04.08.2012 в 05:52.
raul riverra вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL в С++ с использованием библиотеки mysql++ oleg kutkov Visual C++ 5 30.12.2010 16:40
Работа с MySQL в Дельфи 7 drakhar БД в Delphi 8 01.12.2010 21:13
Работа с MySQL igroman PHP 10 29.09.2008 16:15
Работа с MySql zetrix PHP 1 18.06.2007 15:02