Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как работают с базами данных в Visual C++? в сранении с Borland C++ Builder 
:(
    Опции темы
Дмитрий Т
Дата 24.6.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Программирую в основном на Borland C++ Builder, а невизуальные проекты на Visual C++, 
но хочется осесть на чём-то одном. Большая часть программ у меня связана с базами данных и
отсюда вопрос: "Как работают с базами данных в Visual C++?".

Пролистав книги на эту тему удивился как мало этому уделено внимания.
Для Borland C++ Builder и Delphi есть даже отдельные труды, а тут по два слова
и нигде не встретил примеров построения сложного GUI для работы с информацией из 
баз данных...

У Borland C++ Builder есть куча визуальных компонентов которые заточены на работу с БД.
Visual C++ такого не наблюдаю... Может не знаю где смотреть?

С ODBC, OLE DB, ADO в общих чертах разобрался, но нет понимания цельной системы,
т.е. непонимаю как автоматизировать показ информации из БД и занесение в БД?
В Borland например достаточно взять нужный компонет нижнего уровня 
(например позволяющий работать с MySQL), потом связать с промежуточным (DataSource) и 
последний шаг - указать этот DataSource в специализированных  визуальных компонентах.
При этом существуют такие визуальные компоненты, как навигатор (набор кнопок для перемещения 
по выбранным данным), визуальные построители SQL запросов, чтоб пользователь мог делать любую выборку, 
сетки в которых можно задавать щелчком по заголовку столбца сортировку по этому полю (SQL меняется автоматически).
А как сделать полноценную программу, ориентированную на БД, с помощью  Visual C++? 
PM MAIL WWW ICQ Skype   Вверх
DeadSoul
Дата 24.6.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



См. классы CDatabase\CDaoDatabase  и CRecordset\CDaoRecordset 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дмитрий Т
Дата 24.6.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Цитата(DeadSoul @ 24.6.2006,  12:53)
См. классы CDatabase\CDaoDatabase  и CRecordset\CDaoRecordset

Это я видел, а как показывать? 
Я кроме CRecordView ничего не нашёл, а как редактировать записи? 
Как сделать выпадающие списки содержащие данные из связанных таблиц?
Как сделать сетку (таблицу) и др. полезные элементы? 
PM MAIL WWW ICQ Skype   Вверх
DeadSoul
Дата 24.6.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Дмитрий Т, я все делал рукамиsmile 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дмитрий Т
Дата 24.6.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Цитата(DeadSoul @ 24.6.2006,  18:34)
Дмитрий Т, я все делал рукамиsmile

Это означает дополнительные траты времени, а для меня сейчас это слишком дорогое удовольствие...
Может есть коммерческие компоненты восполняющие этот пробел? 
PM MAIL WWW ICQ Skype   Вверх
DeadSoul
Дата 24.6.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Дмитрий Т @  24.6.2006,  18:48 Найти цитируемый пост)
Цитата(DeadSoul @ 24.6.2006,  18:34)
Дмитрий Т, я все делал руками
Это означает дополнительные траты времени, а для меня сейчас это слишком дорогое удовольствие...
Может есть коммерческие компоненты восполняющие этот пробел?  

Думаю, что есть даже некоммерческие. Стоит искать на codeguru.com и codeproject.com 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дмитрий Т
Дата 26.6.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Цитата(DeadSoul @ 24.6.2006,  20:03)
Думаю, что есть даже некоммерческие. Стоит искать на codeguru.com и codeproject.com

Да, там полно классов для баз данных... 
А кто-нибудь может порекомендовать что-то лично опробованное? 
PM MAIL WWW ICQ Skype   Вверх
DeadSoul
Дата 26.6.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Дмитрий Т @  26.6.2006,  20:12 Найти цитируемый пост)
Цитата(DeadSoul @ 24.6.2006,  20:03)
Думаю, что есть даже некоммерческие. Стоит искать на codeguru.com и codeproject.com
Да, там полно классов для баз данных... 
А кто-нибудь может порекомендовать что-то лично опробованное?  

Я тут пас. 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
КУБ
Дата 27.6.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 5.6.2006
Где: Украина, Донецк

Репутация: нет
Всего: нет



Зайди сюда http://worldcpp.vingrad.ru/

Потом зайди в раздел "Базы данных"

Потом в "Как сделать базу данных?Очень просто!" 


И увидиш простой пример на Visual C++. Дерзай  smile  
PM MAIL   Вверх
Coocky
Дата 27.6.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(КУБ @  27.6.2006,  13:56 Найти цитируемый пост)
Потом зайди в раздел "Базы данных"

Потом в "Как сделать базу данных?Очень просто!" 


И увидиш простой пример на Visual C++. Дерзай  


Цитата(Дмитрий Т @  24.6.2006,  13:36 Найти цитируемый пост)
Это я видел, а как показывать? 
Я кроме CRecordView ничего не нашёл, а как редактировать записи? 
Как сделать выпадающие списки содержащие данные из связанных таблиц?
Как сделать сетку (таблицу) и др. полезные элементы?  


Цитата(Дмитрий Т @  24.6.2006,  18:48 Найти цитируемый пост)
Может есть коммерческие компоненты восполняющие этот пробел?  


Цитата(Дмитрий Т @  26.6.2006,  20:12 Найти цитируемый пост)
А кто-нибудь может порекомендовать что-то лично опробованное?  



Неа. Чел не хочет научится работать с БД VC++. Ему нужен халявный полнофункциональный грид (единственое ,чем могут похваться Билдер и Делфятина smile ) для работы с БД ля VC++.
Но такого, братан,нет. smile  Все руцями нуна делатьsmile 
Со мной рядом делфятник сидит. Да ,с БД он работает быстро. Кинул грид на форму-и все. Только мышкой щелкает, да пару функций прописывает. Зависть берет...Пока проблемы не начнутся, или расширить функциональность надо. Вот тут он и тухнет. И мышка не спасает ...
Тут уж не пощелкаешь. smile  Тут программировать надо smile 
  

Это сообщение отредактировал(а) Coocky - 27.6.2006, 14:09


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Dart
Дата 27.6.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 26.6.2006
Где: Саратов, РФ

Репутация: 2
Всего: 2



Посмотри здесь. Это если хочешь OLE DB 
--------------------
ЦитатаЛюблю смотреть, как другие работают
 Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] 
PM MAIL WWW ICQ   Вверх
Дмитрий Т
Дата 27.6.2006, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Благодарю КУБ и Dart за ссылки - посмотрел, буду пробовать, чтоб понять в чём смысл такой бедности компонентов в этой области. 
Неужели основная масса программ для баз данных пишется на Delphi  smile 

Цитата(Coocky @ 27.6.2006,  15:06)
Неа. Чел не хочет научится работать с БД VC++. Ему нужен халявный полнофункциональный грид (единственое ,чем могут похваться Билдер и Делфятина smile ) для работы с БД ля VC++.
Но такого, братан,нет. smile  Все руцями нуна делатьsmile 

А жаль, я бы купил набор человеческих компонентов для MySQL. 
Сейчас смотрю crlab.com, но грид у них похоже только для бюилдера, 
собираюсь попробовать их демки.

Цитата(Coocky @ 27.6.2006,  15:06)
Со мной рядом делфятник сидит. Да ,с БД он работает быстро. Кинул грид на форму-и все. Только мышкой щелкает, да пару функций прописывает. Зависть берет...Пока проблемы не начнутся, или расширить функциональность надо. Вот тут он и тухнет. И мышка не спасает ...
Тут уж не пощелкаешь. smile  Тут программировать надо smile

Неуч он у тебя smile
 
PM MAIL WWW ICQ Skype   Вверх
Дмитрий Т
Дата 29.6.2006, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: нет
Всего: 4



Цитата(Дмитрий Т @ 27.6.2006,  20:09)
А жаль, я бы купил набор человеческих компонентов для MySQL. 

Нашёл гриды. Вот пара понравившихся:

платный: http://www.theultimatetoolbox.com/
бесплатный: http://www.codeproject.com/miscctrl/datagrid.asp

но есть и другие. 
PM MAIL WWW ICQ Skype   Вверх
Dart
Дата 29.6.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 26.6.2006
Где: Саратов, РФ

Репутация: 2
Всего: 2



Цитата(Дмитрий Т @  29.6.2006,  05:37 Найти цитируемый пост)
платный: http://www.theultimatetoolbox.com/

 smile Ты знаешь, СКОКО он стоит??? Да за такие деньги тебе любой програмер на любом форуме напишет любой грид, и не только smile

Цитата(Дмитрий Т @  29.6.2006,  05:37 Найти цитируемый пост)
бесплатный: http://www.codeproject.com/miscctrl/datagrid.asp

Так он поэтому и бесплатный smile
Цитата(Дмитрий Т @  24.6.2006,  13:36 Найти цитируемый пост)
Как сделать выпадающие списки содержащие данные из связанных таблиц?
Как сделать сетку (таблицу) и др. полезные элементы? 

Кроме сетки там ничего нет, так что нету счастья smile
Если хочешь, давай мыло, есть у меня кое-какие наработки, на следующей неделе вышлю (бесплатно), вот только работу одну доделаю. 
--------------------
ЦитатаЛюблю смотреть, как другие работают
 Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] 
PM MAIL WWW ICQ   Вверх
DeadSoul
Дата 29.6.2006, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Dart @  29.6.2006,  09:37 Найти цитируемый пост)
Цитата(Дмитрий Т @  29.6.2006,  05:37 )
платный: http://www.theultimatetoolbox.com/
  Ты знаешь, СКОКО он стоит??? Да за такие деньги тебе любой програмер на любом форуме напишет любой грид, и не только 

Я тебя разочарую. Нрида подходящего тебе никогда не существует. СОВСЕМ некогда. А 500 баксов при серьезной разработке - это не еньги(2 недели работы опытного программиста) 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Nuzur
Дата 30.6.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 4.7.2004

Репутация: 3
Всего: 5



Так а в чом проблема я не понимаю?
Есть AdoDc кидаете его на свое окошко там можно строку подключения собрать как на лету так и перед запуском приложения.
Если нужен грид то у меня есть бесплатный( тоесть есть бесплатная и платные версии, я всегда бесплатной пользовался так что скока стоит не скажу), он ActiveX. Если  нуна можу подкинуть там ограничение на 1000 строк вроде...

Я сам с Дельфятинки переходил. Вначале было много неясностей но теперь мне дажу удобней и понятней все стало. Переход занял не много.

Цитата

 smile Ты знаешь, СКОКО он стоит??? Да за такие деньги тебе любой програмер на любом форуме напишет любой грид, и не только smile

Ну дык в чем проблема то? А за сколько вы хотели хорошую гридину за 10 баксов что-ли?  

Это сообщение отредактировал(а) Nuzur - 30.6.2006, 12:40


--------------------
Never again...
PM MAIL   Вверх
takedo
Дата 30.6.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



Вопрос то был в том, чтобы дать человеку определиться, на чем ему остановиться. Вообще я думаю, что лучше уж на Buildere пусть сидит человек, так как если чего посложнее надо делать это и на билдере можно сбацать, только сложновато все и неявно. Я тоже на билдере начинал, если надо было что быстро сбацать- красота, а как посложнее, так это как Coocky рассказывал... Правда я тогда имел вообще очень смутные представления программирования под виндовс smile . Подитожим: нет времени разбираться - делай на билдере, есть время, нет желания - на билдере, есть желание и время - ... похоже можно попробовать на Visual C++. smile  


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
En_t_end
Дата 30.6.2006, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 2
Всего: 20



Предлагаю оболочку написать самому 
PM MAIL ICQ Skype GTalk Jabber   Вверх
MURYONOK
Дата 2.7.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.4.2007
Где: Ижевск

Репутация: нет
Всего: нет



возник следующий вопрос, связанный с бд в визуале: известна только первая таблица из базы, её успешно получается связать с компонентами, но вот остальные таблицы свзять не удаётся. может кто что подсказать?
PM MAIL ICQ   Вверх
olicheg
Дата 30.1.2011, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



с Mysql очень просто.
ставишь dbForge Studio for MySQL. 
абсолютно бесплатный. а  запросы пишется еще проще 

#include "stdafx.h"
#include <windows.h>
#include <winbase.h>
#include <winsock.h>


#include <my_global.h>
#include <mysql.h>
#include <errmsg.h>
#include <mysqld_error.h>
#pragma comment(lib, "libmysql.lib") 
//using namespace System;
void puterror(char * str);
int main(array<System::String ^> ^args)
{    
     // Дескриптор соединения
  MYSQL conn;
  // Дескриптор результирующей таблицы
  MYSQL_RES *res;
  // Дескриптор строки
  MYSQL_ROW row;

  // Получаем дескриптор соединения
  if(!mysql_init(&conn))
    // puterror("Error: can't create MySQL-descriptor\n");
    printf("%sn", "123");


  // Устанавливаем соединение с базой данных
  if(!mysql_real_connect(&conn,
                         "localhost",
                         "root",
                         "admin",
                         "mysql",
                         0,
                         NULL,
                         0))
     puterror("Error: can't connect to MySQL server\n");

  // Устанавливаем кодировку соединения, чтобы предотвратить
  // искажения русского текста
  if(mysql_query(&conn, "SET NAMES 'cp1251'") != 0)
     puterror("Error: can't set character set\n");

  // Выполняем SQL-запрос
  if(mysql_query(&conn, "SELECT * FROM books.author") != 0)
     puterror("Error: can't execute SQL-query\n");

  // Получаем дескриптор результирующей таблицы
  res = mysql_store_result(&conn);
  if(res == NULL) puterror("Error: can't get the result description\n");

  // Если имеется хотя бы одна запись - выводим
  // список каталогов
  if(mysql_num_rows(res) > 0)
  {
    // В цикле перебираем все записи
    // результирующей таблицы
    while((row = mysql_fetch_row(res)) != NULL)
    {
      // Выводим результат в стандартный поток
      fprintf(stdout, "%s\n", row[1]);
    }
  }

  // Освобождаем память, занятую результирующей таблицей
  mysql_free_result(res);

  // Закрываем соединение с сервером базы данных
  mysql_close(&conn);
 //   Console::WriteLine(L"Hello World");
  return 1;
}

void puterror(char * str)
{
  fprintf(stderr, str);
  exit(1);
}
///////////////////////////////////*.h файлы находятся там где установлена твоя mySql(прописать путь в tools->options)

my_global.h>
mysql.h>
errmsg.h>
mysqld_error.h>
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1071 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.