![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Работаю с БД.В первом проекте создал СRecordset rs;
rs.Open() нормально отрабатывал все запросы на выборку.Но ,поняв,что работать без RFX не возможно,обратился к AppWizard_у.С его помощью создал класс,производній от CRecordset,вызвал Open()...При SELECT * FROM TABLE,работает нормально,но остальное не отрабатывает.К примеру SELECT DISTICT NAME FROM TABLE или SELECT NAME FROME TABLE.Выдает "Ошибка при выборе записей". Кто виноват и что делать?Проект коммерческий.Горю.Помогите... -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
А воз и ныне там...
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
С какой БД работаеш?
>SELECT NAME FROME TABLE чё такое NAME - типа имя колонки? TABLE - типа имя таблицы? Инфы маловато... dwOptions - что ты передаёш? P.S. Мой совет - забей на CRecordset - используй ADO - гемора конечно разбираться с ним на C++ через интерфейсы много - зато потом возможностей куча... Это сообщение отредактировал(а) AlexNor - 14.10.2004, 23:46 --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Coocky |
|
||||||||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Access
Воистину так
Дело в том(внимательно читайте начало),что когда работаю без RFX просто с CRecordset все нормально,но стоить добавить свой класс производный от CRecordset,половина запросов не работает.Может дело в RFX?Я б от него отказался,но надо работать с удалением,записью полей. И запрос не последнюю роль играет! Может кто ссылочку на исходник кинет хотя бы?
Может DAO?ADO вроде как только в разработке.Да и нет времени изучать... Помогите -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||||||||
|
|||||||||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Хорошо.Давайте оставим в покое RFX.Кто-нибудь знает как добавлять и редактировать записи без RFX.Уже иду на что угодно...
З.Ы.Неужели с БД никто не работает -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| AlexNor |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Что такое RFX? Я не знаю что значит RFX.
А причём здесь то что ты наследуеш от CRecordset??? Я что то вообще ничего не понимаю.. Получается у тебя выходит так: CRecordset rec; CMyRecordset Myrec; rec.Execute('select name from table'); // работает Myrec.Execute('select name from table'); // не работает ...... или я что то не понял...
В какой-такой разработке??? Она уже очень давненько разработана! - просто дорабатывается понемногу - глюки всё такое - всё как всегда у микросакса. Забудь про DAO - это ОЧЕНЬ старая весчь! Если токо ты не пишеш простую весч. Да не спорю ADO - тот ещё гемор особенно под С++ - это блин не Васик. Но я уже писал БД под ADO на С++ + MFC (хотя это страшный изврат - такие вещи быстрее и качественнее на C# выйдет сделать) - гемор конкретный с этими интерфейсами - но и возможностей туева хучка... Насчёт Recordset - я просто так и не понял суть твоей проблемы (то что проблема есть я понял Насчёт ADO. Вот небольшой пример: #import "c:\program files\common files\system\ado\msado15.dll" rename ( "EOF", "adoEOF" ) HRESULT hr = S_OK; ADODB::_ConnectionPtr Conn1 = 0; ADODB::_CommandPtr Cmd1 = 0; ADODB::_RecordsetPtr Rs1 = 0; Conn1.CreateInstance( __uuidof( ADODB::Connection ) ); Conn1->ConnectionString = _T("DRIVER=Driver do Microsoft Access (*.mdb); Data Source=D:\db2.mdb; Initial Catalog=D:\\;UID=admin'"); Conn1->PutCursorLocation(ADODB::adUseClient); if ( FAILED(Conn1->Open( _T(""), _T(""), _T(""), -1 ))) { AfxMessageBox(_T("Ошибка при к БД")); return false; } //создаём command Cmd1.CreateInstance( __uuidof( ADODB::Command ) ); Cmd1->ActiveConnection = Conn1; _bstr_t bstrt = _T("select column1, column2 from table mytable"); Cmd1->CommandText = bstrt; Cmd1->CommandType = ADODB::adCmdText; // Open Recordset _variant_t vtEmpty1 (DISP_E_PARAMNOTFOUND, VT_ERROR); _variant_t vtEmpty2(DISP_E_PARAMNOTFOUND, VT_ERROR); Rs1 = Cmd1->Execute( &vtEmpty1, &vtEmpty2, ADODB::adCmdUnknown ); //в Rs1 - таблица содержащая результат запроса ....... и т.д. Дальше MSDN в руки и с песней CRecordset - я пользовался - проблем таких не возникало. --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
||||||
|
|||||||
| Coocky |
|
||||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Это механизм обмена данными,типа DDX
Нет.CMyRecordset:public CRecordset;
Проблема в том ,что когда перегружаешь функции для обмена данными через RFX,CMyRecordset::Open(); не выполняет многие запросы.Хотя CRecordset работает нормально Я нашел ответ.Смотри топик. Это сообщение отредактировал(а) Coocky - 16.10.2004, 13:37 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||||
|
|||||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Во первых не DISTICT, а DISTINCT. Возможно дело в обыкновенной опечатке? А во-вторых, обработка из С++ или Дельфи ведеться через внешние драйвера, в твоем случае, я так понял, через какое-то RFX, возможно он не поддерживает или криво работает. А еще из своего опыта работы с SQL могу сказать, что он плохо работает с русскими буквами, это отдельно настраивается из среды, а потому может стоит проверить на таблице с латинскими символами? -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Это я сдесь ошибся
Согласен.Это я и хотел сказать.И описал проблему решения кривизны -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Coocky, загляни в FAQ, тема про ADO. Там выложен набор класс для работы с ADO через CRecordset и проч. известные тебе классы, но средствами ADO.
-------------------- ![]() |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
А мое решение через ODBC не подойдет? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |