Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как работать с MS Access из MS Visual C++ 6.0 ?? Нужно просто добавить данные в таблицу 
:(
    Опции темы
Notebook2007
Дата 13.2.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нужно просто добавить данные в таблицу уже созданной БД. Прошу если не сложно где можно посмотреть почитать или скачать пример работы на Си? ОЧЕНЬ срочно нужен код, сегодня максимум завтра ... 

Буду ОЧЕНЬ благодарен за помощь...
PM MAIL   Вверх
Rickert
Дата 13.2.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



www.sourceforge.net


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Notebook2007
Дата 13.2.2007, 22:32 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне тут подсказали, прошу поправить правельно ли я понял. Можно организовать следующим образом: создаем экземпляр класса cdatabase, например

cdatabase a; // только я не уверен правельно ли пишется имя класса, подскажите

Потом делается

a.open(путь)

и потом запросы

a.executeSQL(запрос)

Скажите что то типа такого существует? Мне не нужны навароты, мне просто нужно занести данные в БД ... Прошу о помощи так как обратиться больше не к кому  smile 
PM MAIL   Вверх
Rickert
Дата 14.2.2007, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Я же тебе написал сайт. Там в поиске вводи запрос - там куча проектов на тему. Если хочешь, конечно, можешь и сам библиотеку написать через COM/

Вот тебе пример - http://www.codeproject.com/cpp/howtomix.asp


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Notebook2007
Дата 14.2.2007, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



К сожалению я не шарю в английском smile

А можешь привести порядок операций самый элементарный при котором можно подключиться к базе?
Например

CDatabase a;
a.open(путь к БД);
a.executeSQL('INSERT INTO ... короче SQL запрос');
a.close;

Вот что то типа того, плиз  smile 

У меня выдает ошибку даже когда я начинаю пытаюсь CDatabase a; говорит не опознаный идентификатор CDatabase

Что делать, как подключиться к БД и отправить запрос?
PM MAIL   Вверх
Rickert
Дата 14.2.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Notebook2007, учи англ. Программист без англ. - как бобёр без хвоста: может только натаскать и свалить в кучу, а разобраться и сделать как надо - нет.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Notebook2007
Дата 14.2.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Учить уже поздно, мне для диплома нужен код, который бы добавлял данные в таблицу уже разработанной базы данных.

Помогите кто может smile Буду очень признателен. 5 строчек кода всего нужно,  smile 
PM MAIL   Вверх
dizzy1984
Дата 15.2.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот код из проекта

#include "stdafx.h"
#include "afxdb.h"


CString TrimAndReplace(CString &s) {//удаляем пробелы справа и заменяем одинарную кавычку на двойную
    s.TrimRight().Replace("\'","\'\'");
    return s;
};

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
//...
LPCTSTR usage = "Использование : edvin.exe имя_файла_данных строка_подключения_ODBC";usage.AnsiToOem();
CString msg;
CDatabase db;
BOOL dbOpen;
try {
    dbOpen = db.OpenEx(DRIVER=SQL Server;SERVER=xx.xx.xx.xx;Address=xx.xx.xx.xx,xxxx;Network=DBMSSOCN;DATABASE=xxxxxxx);
    if (!dbOpen) {// пользователь нажал кнопку отмена
        msg="Невозможно подключиться к БД\n\n%s\n";msg.AnsiToOem();
        printf(msg.GetBuffer(),usage.GetBuffer());                        
        return 1;
    };
    
         CString insertquery;//строка запроса    
         CString line;//строка
         //получаем строку...
    insertquery="INSERT INTO privileges ("
    "PERSONID,CATEGORYCODE,DOCUMENTNAME,DOCUMENTSERIES,DOCUMENTNUMBER,"
    "ISSUEDDATE,DOCAUTHORITY,PRIVELEGEBEGIN,PRIVELEGEEND)VALUES("+
    CurID+",'"+            //PERSONID
    TrimAndReplace(line.Mid(1,3))+"','"+//CATEGORYCODE
    TrimAndReplace(line.Mid(4,80))+"','"+//DOCUMENTNAME
    TrimAndReplace(line.Mid(84,8))+"','"+//DOCUMENTSERIES
    TrimAndReplace(line.Mid(92,8))+"','"+//DOCUMENTNUMBER
    TrimAndReplace(line.Mid(100,10))+"','"+//ISSUEDDATE
    TrimAndReplace(line.Mid(110,80))+"','"+//DOCAUTHORITY
    TrimAndReplace(line.Mid(190,10))+"','"+//PRIVELEGEBEGIN
    TrimAndReplace(line.Mid(200,10))+"')";//RESERV
    
         db.ExecuteSQL(insertquery.GetBuffer());
}
catch (CDBException *e) {//проблема с подключением
    msg="Невозможно подключиться к БД\nПричина: \"%s\"\n\n%s\n";msg.AnsiToOem();e->m_strError.AnsiToOem();
    printf(msg.GetBuffer(),e->m_strError.GetBuffer(),usage.GetBuffer());
         if (dbOpen) db.Close();
    e->Delete();
    return 1;
};
}
PM MAIL   Вверх
Малинка
Дата 1.3.2007, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



    Ребята, я девушка не глупая и тем не менее мне требуется Ваша помощь, необходимо написать ПО в Builder  для заполнения БД Access из бинарного файла. БД создана.
    Помогите.

PM MAIL   Вверх
CLIPSA
Дата 8.4.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

#include "afxdb.h"

CDatabase MyDatabase;
MyDatabase.OpenEx(_T("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Mydb.mdb"),CDatabase::noOdbcDialog);

CRecordset MyRecordset(&MyDatabase);
MyRecordset.Open(CRecordset::forwardOnly, _T("SELECT *  FROM MyTable"));


Это сообщение отредактировал(а) CLIPSA - 9.4.2007, 00:10
PM MAIL   Вверх
shara
Дата 23.3.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



CLIPSA
понимаю времени много прошло, 
столкнулся с похожей проблемой о работе с Аксесом
как получить в прогу данные по конкретному запросу например "SELECT *  FROM MyTable"? куда и как сохранять?        или ткните ссылкой куда читать


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Rififi
Дата 23.3.2009, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



shara
не используй этот трупик в виде DAO/CDatabase
юзай интерфейс ADO

набираешь в программистском поисковике "c++ ado select sample -ПАМАГИТЕ"

для более углублённого изучения - тамже, "msdn ado reference -ПАМАГИТЕ"
PM MAIL   Вверх
shara
Дата 23.3.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



совет конечно дельный не спорю, спасибо.
но мне нужно с пары таблиц выбрать пару строчек в полу интерактивном режиме... а тут уже большая часть нужного мне кода написана, нужно еще чуть-чуть, чтобы результат запроса вывести на экран и все... прошу понять меня правильно у меня нет необходимости бить мух при помощи динамита  smile  
хотябы ткните где читать, очень тяжело найти что-то понятное и толковое, так чтобы на пальцах да еще и работало  smile 


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Rififi
Дата 24.3.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



shara
вот хорошая книга
user posted image
PM MAIL   Вверх
Albor
Дата 24.3.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(shara @  23.3.2009,  21:50 Найти цитируемый пост)
CLIPSA, 
понимаю времени много прошло, 
столкнулся с похожей проблемой о работе с Аксесом
как получить в прогу данные по конкретному запросу например "SELECT *  FROM MyTable"? куда и как сохранять?        или ткните ссылкой куда читать 

Для объекта CRecordset вызови функцию GetFieldValue. Подробности в MSDN. Когда рекордсет открыт, данные в нём уже есть, только успевай получать smile . Кстати, не обязательно наследоваться от CRecordset. 


Это сообщение отредактировал(а) Albor - 24.3.2009, 12:43
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




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


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

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