|
|
|
cheburashkaRF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 9.11.2011 Где: Новосибирск Репутация: нет Всего: нет |
Доброго времени суток, помогите решить следующую проблему
Захотел сделать кнопку поиска по базе, сначала создал таблицы в sql и объеденил их,но при нажатии на кнопку поиска вылетают ошибка Unknown column 'familia' in 'where clause' а вот код обработчика Код C++ void TForm1:(TADOQuery * Query, TADOTable * Table,AnsiString Comb, AnsiString Edit) { Query->Close(); Query->SQL->Clear(); Query->SQL->Add("SELECT * FROM " + Table->TableName + " WHERE " + Comb + " LIKE " + "'%" + Edit + "%'"); Query->ExecSQL(); Query->Open(); } А вот sql запрос SELECT Фамилия,Имя,Отчество,Оформлена FROM clients,visa WHERE clients.`id_client`=visa.`id_visa` |
|||
|
||||
Данкинг |
|
|||
Yersinia pestis Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Query->ExecSQL(); там точно не нужен...
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Riviero |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
||||
|
||||
cheburashkaRF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 9.11.2011 Где: Новосибирск Репутация: нет Всего: нет |
извини ну описался ,ну ошибся,бро=)
лучше скажи что сделать чтоб заработало Это сообщение отредактировал(а) cheburashkaRF - 26.4.2013, 10:23 |
|||
|
||||
Данкинг |
|
|||
Yersinia pestis Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Судя по тексту ошибки: Где-то в коде аналогичная описка. Подставить в условие WHERE название существующей колонки. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
cheburashkaRF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 9.11.2011 Где: Новосибирск Репутация: нет Всего: нет |
а если пользователь выбирает значение из combobox и вводит значение в поле edit и жмёт кнопу поиска, тогда название конкретной колонки здесь не поможет,здесь будет нужен автоматически заносимый параметр Не могли бы вы написать,как тогда будет выглядеть запрос |
|||
|
||||
Данкинг |
|
|||
Yersinia pestis Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Что есть в запросе "Comb" ?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Riviero |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
Как я понял, Comb - это ComboBox->Text Edit: Edit->Text Чтобы все правильно работало - надо ComboBox заполнять названиями колонок из таблицы, а не абы как. Как вариант - сделать так:
|
|||
|
||||
cheburashkaRF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 9.11.2011 Где: Новосибирск Репутация: нет Всего: нет |
т.е в моем случае код примет такой вид
void TForm1::myFunc(TADOQuery * Query, TADOTable * Table,AnsiString Comb, AnsiString Edit) { Query->Close(); Query->SQL->Clear(); Query->SQL->Add("SELECT Фамилия,Имя,Отчество,Оформлена FROM clients.`id_client`AND visa.`id_visa` where clients,visa = '" + TableName+"'"); Query->Open(); } но почему то пишет [bcc32 Error] Unit1.cpp(26): E2451 Undefined symbol 'TableName' Full parser context Unit1.cpp(23): parsing: void TForm1::myFunc(TADOQuery *,TADOTable *,AnsiString,AnsiString) |
|||
|
||||
Данкинг |
|
|||
Yersinia pestis Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Во-первых, не копируй слепо примеры, а подставляй в них свои значения. Во-вторых, поизучай элементарный синтаксис SQL-запросов. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Правила форума "C++: Базы данных" | |
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |