Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Access&&cpp, как подрубить? 
V
    Опции темы
xkill
Дата 31.1.2007, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Просмотрел темы связаные с моей, где-то говорится, что ADO устарело в другой ни одной строчки кода и т.д.
По-этому  возник вопрос, ситуация такая:
Чистый проект, в папке с ним лежит файл file.mdb. Файл БД Access'овский(2003). 
Среда BCB6.0.
И возникает вопрос как общаться с этой БД, какие компоненты использовать, какие настройки следует производить?


PM   Вверх
Anikmar
Дата 31.1.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



На счет того, что ADO устарело ни разу не слышал, может и так. А вот то, что BDE перестает поддерживаться Борландом слышал неоднократно.

Я начинал с компонентов BDE. В принципе разобраться легко, работать тоже, но требует настройки при переносе на компьютер пользователя. Это конечно решаемо, но при сравнительных тестах на больших базах ADO практически всегда оказывается быстрее. Исключение составил тест на простой перебор записей. Поэтому я перешел на ADO.

С ADO мне показалось работать гораздо комфортнее по многим критериям. 

ИМХО Для поставленной задачи я бы выбрал ADO
PM MAIL ICQ   Вверх
Любитель
Дата 31.1.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(Anikmar @  31.1.2007,  12:31 Найти цитируемый пост)
ИМХО Для поставленной задачи я бы выбрал ADO

Согласен.


--------------------
PM MAIL ICQ Skype   Вверх
xkill
Дата 31.1.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вроде разобрался с тем как подконнектится  к ODBC через ado.
Но тут возник вопрос, а как выполнять запросы(через какую функцию)? 

 smile ->выборки, вставки в определенную ячейку определенного значения


Это сообщение отредактировал(а) xkill - 31.1.2007, 16:42
PM   Вверх
Anikmar
Дата 31.1.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Примеров использования TADOQuery на форуме просто море.
Создается ADOConnection 
Бросается компонент TADOQuery
В этом компоненте устанавливается свойство SQL - это запрос
Если запрос на выборку - то к TADOQuery подключается TDataSet, через который можно отображать в TDBGrid и т.п.
PM MAIL ICQ   Вверх
xkill
Дата 4.2.2007, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



компонент TADOuery. (использую ODBC, а бд Access'овская)
Встретил проблемку:
Код

...
//Надо проверить в таблице name, есть ли id = 5?
try {
          query->Close();//Закрываем если открыт
          query->SQL->Clear();//Очищаем запрос, по умолчанию поставлен ctDynamic
          query->SQL->Add("SELECT * FROM name  WHERE id=");//Добавляем запрос
          query->SQL->Add(Edit1->Text);//Добавляем id, в конечном счёте поолучаем запрос(SQL) SELECT * FROM name WHERE id=5
          query->Active=true;//И вот тут возникает ошибка, хоть используешь Open(), хотьчерез active

} catch(...) {
ShowMessage("Ошибка");
}
...

Как можно дальше работать(всмысле какие настройки, функци использовать), т.к. каждый раз через переборку значений слишком много времени будет уходить ???  smile  smile  smile 

PM   Вверх
Anikmar
Дата 4.2.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Надо посмотреть результирующий запрос - скорее всего все-таки он неправильный.

Конкретно для посавленной задачи можно использовать параметризированный запрос.
SELECT * FROM Name WHERE id = :pIdi

Кстати, Name возможно зарезевированное слово и его надо взять в квадратные скобки (точно не помню)

С параметризированным запросом работа строится так:
Код

  query->Close();
  query->Parameters->ParamByName("pIdi")->Value = 5;
  query->Open();



PM MAIL ICQ   Вверх
bas
Дата 5.2.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(xkill @  4.2.2007,  12:52 Найти цитируемый пост)
И вот тут возникает ошибка,

А текст ошибки, "военная тайна"?
PM MAIL   Вверх
xkill
Дата 5.2.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bas, забыл про такую вещь)
Цитата

Project '***' raised exception class EOleException with message'[MS][ODBC MS AccessDriver] Too few parameters. Expected 1'. Process stopped. ...

А что за параметры ему требуются?
PM   Вверх
Anikmar
Дата 5.2.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Надо посмотреть результирующий запрос.
Мне кажется он какой-то неправильный.

Попробуйте выбрать все записи:
SELECT * FROM MyTable

Сработает такой запрос?
PM MAIL ICQ   Вверх
xkill
Дата 5.2.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar
работал я раньше  с мускулем, там такой вопрос без проблемно обратывается (сейчас убедился ещё раз).
Посмотрев в справке по access'у, пример: 
Код

SELECT Сотрудники.Отдел, Начальники.ИмяНачальника

FROM Сотрудники INNER JOIN Начальники

WHERE Сотрудники.Отдел = Начальники.Отдел;

Решил проверить методов "заковычивания" )))
И всё без проблем получилось:
Код

SELECT * FROM name  WHERE 'id'='5'

И так он перестал ругаться)
Но почему-то он не выбирает данные(query->recordcount, равен 0! smile  smile  smile 
Дальше пошло ещё интереснее
При запросе
Код

SELECT * FROM name  WHERE 'id'>'5'

В recordcount был равен всем записям,когда же при запросе:
Код

SELECT * FROM name  WHERE 'id'<'50'

recordcount был равен нулю  опять, вместо положенных 4-х
p.s. фиг поймёшь филосовию access'овского sql'я  smile  smile  smile  smile 

PM   Вверх
Anikmar
Дата 5.2.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А какой тип поля у id?

Ведь конструкция 'id' = '5' никода не будет истина - там сравниваются две строки...

Не должно быть там никаких кавычек!

Добавлено @ 22:40 
Для интереса запустил access и  сгенерил запрос в нем (используя борландский пример базы)
Вот что он мне сгенерил с помощью своего построителя запросов:
Код

SELECT customer.*, customer.CustNo
FROM customer
WHERE (((customer.CustNo)=121));


Может там все дело в скобках?
PM MAIL ICQ   Вверх
xkill
Дата 6.2.2007, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Тип у id числовой
Вообщем в where условия поместил в скобки и всё встало на свои места)
Код

SELECT * FROM name WHERE (id=5)

феноменально)
При этом в справке несказано про скобки (в инстуркции по select)

Какие функции спользуются в DBGrid для обавления записей?
PM   Вверх
Anikmar
Дата 6.2.2007, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(xkill @  6.2.2007,  08:29 Найти цитируемый пост)
Какие функции спользуются в DBGrid для обавления записей? 

Во-первых там есть автоматическое создание записей, но такое создание криво работает с полями подстановки.

Я делал 2 путями.
1-й:
Запрос вида SELECT * FROM Table 

Далее MyQuery->Insert();
Устанавливаем поля
MyQuery->Post();

2-й (на мой взгляд более трудоемкий но более правильный)
Запрос вида INSERT INTO Table (Field1,Field2) VALUES(:pField1,:pField2)
Устанавливаем параметры
выполняем MyQuery->ExecSQL();

Еще есть способ использовать UpdateSQL - но в ADO такого нет, это только для BDE

PM MAIL ICQ   Вверх
bas
Дата 6.2.2007, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(xkill @  6.2.2007,  08:29 Найти цитируемый пост)
Какие функции спользуются в DBGrid для обавления записей? 

DBGrid - Никаких.
Курсоры в ADO 

Добавлено @ 11:53 
Цитата(Anikmar @  6.2.2007,  09:58 Найти цитируемый пост)
2-й (на мой взгляд более трудоемкий но более правильный)

Cсогласен еще добавлю update
PM MAIL   Вверх
Anikmar
Дата 6.2.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(bas @  6.2.2007,  11:52 Найти цитируемый пост)
Cсогласен еще добавлю update 

Естественно.

Но вопрос звучал как:

Цитата(xkill @  6.2.2007,  08:29 Найти цитируемый пост)
Какие функции спользуются в DBGrid для обавления записей? 

 smile 

А так в SQL еще много замечательных команд. Можно создавать базы, таблицы, и т.п.

PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть функция:
Код

void func_name(char* usl=NULL) {
 Form1->query->Close();
 Form1->query->SQL->Clear();
 Form1->query->SQL->Text="SELECT count(*) as count FROM table_name ";
 if(usl!=NULL) {
 Form1->query->SQL->Text=Form1->query->SQL->Text+" WHERE ";
 Form1->query->SQL->Text=Form1->query->SQL->Text+usl;
 }
 Form1->query->Open();
 int max=Form1->query->FieldByName("count")->AsInteger+1;
 if(max!=1){
 Form1->query->Close();
 Form1->query->SQL->Clear();
 Form1->query->SQL->Text="SELECT * FROM table_name ";
  if(usl!=NULL) {
 Form1->query->SQL->Text=Form1->query->SQL->Text+" WHERE ";
 Form1->query->SQL->Text=Form1->query->SQL->Text+usl;
 }
 Form1->query->SQL->Text=Form1->query->SQL->Text+" ORDER BY date DESC ";
 Form1->query->Open();
 Form1->query->First();
 Form1->StringGrid1->RowCount=max;
 for(int i=1; i<=max; i++) {
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("1")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("2")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("3")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("4")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("5")->AsString);
        Form1->query->Next();
 }
 }
 Form1->query->Close();
 }

Проблема заключается в том что функция после первого вызова действует нормально), а если её вызвать 2-ой,3-й и т.д. раз, то счётчик возращает корректное значение, а далее где  добавляются поля (цикл), значения полей все прежние. (а где должны быть новые, там пустое значение, а стары на месте)

ЗЫ Думаю стуацию описал.
ЗЫ2 Ошибок не выдает.





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


Эксперт
****


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

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



Надо бы очистить сетку перед перевыводом. А то каждый раз добавляем и добавляем поля...

А DBGrid для этих целей совсем не подходит? Там вообще ничего делать не придется практически...
PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar, а как очистить? 
Сейчас много сделано на StringGrid, и перехода к DBGrid думамю будет не оправданым, в том плане, что делать много предется заново + данный компонент изучать
PM   Вверх
Anikmar
Дата 9.2.2007, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(xkill @  9.2.2007,  11:32 Найти цитируемый пост)
ikmar, а как очистить? 

Я очищал - просто ставил количество строк 0 (сам очищается), а потом возвращал нужное значение - строки будут пустые.
Но там насколько я помню есть с ним косяк когда надо заголовки вывести. Небольшой баг в компоненте, в какой-то из книг даже описанный. Поэкспериментируете - поймете о чем речь.
PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar, можешь пример привести?  Или через какое значение это изменяется?
PM   Вверх
Anikmar
Дата 9.2.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(xkill @  9.2.2007,  10:15 Найти цитируемый пост)
Form1->StringGrid1->RowCount=max;


Ты же сам это делаешь! Сначала присвой 0, а потом нужное значение.
PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar,  произшло не допонимание)
С StringGrid'ом у мну всё хорошо.
Проблема то сама заключается в TQuery, там на моменте:
Код

 Form1->query->SQL->Text=Form1->query->SQL->Text+" ORDER BY date DESC ";
 Form1->query->Open();
 Form1->query->First();
 Form1->StringGrid1->RowCount=max;
 for(int i=1; i<=max; i++) {
//Здесь в цикле в Form1->query->FieldByName("x")->AsString содержаться пустые строчки, хотя они должны быть заполнены.
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("1")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("2")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("3")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("4")->AsString);
        Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("5")->AsString);
ShowMessage(Form1->query->FieldByName("5")->AsString);//Когда первый раз функцию запускали записи появляются нормально, но после добавления следующие n записей являются пустыми строчками, а так быть не должно
        Form1->query->Next();
 }

И тем самым получается, что после второго вызова функции(перед этим в таблицу вставлялись данныйе) строчки в StringGrid'e появляются, но почему-то в Form1->query->FieldByName("5")->AsString являются пустыми(но ещё содержать результат первого запроса). Т.к. в StringGrid'е содержаться данные первой выборки.  => в StringGrid'е проблемы нет. А она в Tquery


PS Надеюсь стуацию обрисовал лучше

Это сообщение отредактировал(а) xkill - 9.2.2007, 12:12
PM   Вверх
Anikmar
Дата 9.2.2007, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А в самой базе эти строчки есть?
PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar, есть они добавляются без проблем, т.к. в 
Form1->StringGrid1->RowCount=max; 
Они появляются пустые строчки. 
Плюс смотрел через phpmyadmin ни каких проблем со стороны добавления тоже нет.
PM   Вверх
Anikmar
Дата 9.2.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Т.е. в базе строчки есть
В запросе строчки есть.
Form1->query->FieldByName("1")->AsString содержит нормальное значение?

Form1->StringGrid1->Rows[i]->Add(Form1->query->FieldByName("1")->AsString); Я так понимаю эта команда добавляет в строку очередной столбец?

PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, в базе строчки есть, в запросе строчки есть (count вовзращает корректное число  строчек)
Если заменить Form1->StringGrid1->Rows[i]->Add("то эта надпись появится во всем столбце ");
При этом когда вызыватся данная функция кол-во строк в StringGrid увеличивается(так и должно быть, т.к. данные добавляются)
При этом где  должны быть новые значения их там нету(хотя после перезапуска программы все он появляются как надо), но строчки добавляются за счёт счётчика. При замене  одного на Form1->StringGrid1->Rows[i]->Add("то эта надпись появится во всем столбце ");, то надпись действительно появляется везде.
PM   Вверх
Anikmar
Дата 9.2.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Честно говоря, не понимаю с ходу в чем проблема.
Для проверки - кинь на форму в уголок DBGrid, привяжи его к этому запросу и посмотри что он выведет. Если выведет правильно - значит дело в заполнении StringGrid. Если тоже будет пустой - значит что-то с запросом не так.
PM MAIL ICQ   Вверх
Anikmar
Дата 9.2.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Я немного переделал твой код, чтобы он был более "легким в понимании"
Код

void func_name(char* usl=NULL) {
    TADOQuery *pQ;
    pQ = Form1->query;
    pQ->Close();
    pQ->SQL->Clear();
    pQ->SQL->Text="SELECT * FROM table_name ";
    if(usl!=NULL) pQ->SQL->Text += " WHERE " + usl;

    pQ->SQL->Text += " ORDER BY date DESC ";

    pQ->Open();

    max=pQ->RecordCount;
    if (max > 0)
    {
        Form1->query->First();
        Form1->StringGrid1->RowCount=max+1;
        for(int i=1; i<=max; i++)
        {
            Form1->StringGrid1->Rows[i]->Add(pQ->FieldByName("1")->AsString);
            Form1->StringGrid1->Rows[i]->Add(pQ->FieldByName("2")->AsString);
            Form1->StringGrid1->Rows[i]->Add(pQ->FieldByName("3")->AsString);
            Form1->StringGrid1->Rows[i]->Add(pQ->FieldByName("4")->AsString);
            Form1->StringGrid1->Rows[i]->Add(pQ->FieldByName("5")->AsString);
            pQ->Next();
        }
    }
 pQ->Close();
 }


Я убрал подсчет количества строк - в TADOQuery есть свойство RecordCount. Когда работал через BDE 1 раз у меня были с ним проблемы, но выловить повторно не смог, так что полезное свойство, содержит количество фактических строчек в запросе.

PM MAIL ICQ   Вверх
xkill
Дата 9.2.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Anikmar, сть одна проблемка и она заключатся в том что использовал компонент TSQLQuery ( в месте с MySQL)
А DBGrid в настройках где DataSource: Operation not allowed on a unidirectional dataset. И как её привизать к запросу?


PM   Вверх
Rodman
Дата 9.2.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



есть компонент ТDataSource, его свяжи между TDBGrid и TQuery...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Anikmar
Дата 9.2.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(xkill @  9.2.2007,  14:49 Найти цитируемый пост)
Anikmar, сть одна проблемка и она заключатся в том что использовал компонент TSQLQuery ( в месте с MySQL)
А DBGrid в настройках где DataSource: Operation not allowed on a unidirectional dataset. И как её привизать к запросу?

А, блин... Я с однонаправленными запросами и не работал никогда...
PM MAIL ICQ   Вверх
Малинка
Дата 1.3.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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


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


Новичок



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

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



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

PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

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

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


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

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


 




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


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

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