Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 26.05.2010
Сообщений: 24

SQL запрос с переменной вместо название.db

03.09.2010, 13:27. Показов 1917. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работаю с :
С++ Builder 6
BDE
Query

У меня имеится несколько баз данных. Ну вот, а структура у них идентичная, поэтаму и поиск один. Так вот в чем проблема - SQL запрос требует название базы(Select * From something.db). Как вместо something.db в запросе изпользовать переменную?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2010, 13:27
Ответы с готовыми решениями:

Передача значения переменной в SQL запрос к базе данных
День добрый! Мне необходимо найти в базе данных строчку, id адрес которой соответствует числу занесенному в переменную. ...

Отобразить вместо код_группы его название из другой таблицы SQL
Есть DataGriew, в которую загружена таблица1. Как сделать так, чтобы вместо код_группы отображалось соответствующее название группы из...

Как вместо названия таблицы в sQL-запросе можно подставить переменную, данное название содержащую?
Проблема такая. Каким образом вместо названия таблицы в sQL-запросе можно подставить переменную, данное название содержащую. Заранее...

5
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
03.09.2010, 14:16
конкатенация вам поможет:
C++
1
2
AnsiString tbl = "something.db";
Query->SQL->Text = "Select * From " + tbl;
1
1 / 1 / 0
Регистрация: 26.05.2010
Сообщений: 24
03.09.2010, 14:40  [ТС]
спасибо за столь быстрый ответ =]
название базы содержит "&" (K&L Project), как быть? Выкидывает ошибку (Invalid use of keyword. Token: &L). Вот что интересно - c++ builder неорёт если пишу
C++
1
DataModule1->Query1->SQL->Add ("SELECT * FROM 'K&L project'")
Есть варианты ? Или легче запретить ввод "&" символа?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
03.09.2010, 14:43
advo, ну если требует, тогда выполняйте его капризы:
C++
1
2
3
4
5
6
AnsiString tbl = "something.db";
//...
if(!tbl.Pos("&"))
  Query->SQL->Text = "Select * From " + tbl;
else
  Query->SQL->Text = "Select * From " + AnsiQuotedStr(tbl, "'");
0
1 / 1 / 0
Регистрация: 26.05.2010
Сообщений: 24
03.09.2010, 15:04  [ТС]
Викидывает ошибку на строку
C++
1
 DataModule1->Query1->SQL->Text = "Select * From " + AnsiQuotedStr(tbl, "'");
E2034 Cannot convert 'char *' to 'char'
E2342 Type mismatch in parameter 'Quote' (wanted 'char', got 'char *')

Если ее убрать, ошибку не кидает, но в процессе программы уже снова Error (Token:K):

C++
1
2
3
4
5
6
7
8
9
10
11
 AnsiString tbl=ComboBox1->Text;
DataModule1->Query1->Close();
DataModule1->Query1->SQL->Clear();
DataModule1->Query1->SQL->Add("SELECT * FROM "+tbl); 
 
if(!tbl.Pos("&"))
 DataModule1->Query1->SQL->Text = "Select * From " + tbl;
else
 DataModule1->Query1->SQL->Text = "Select * From " + AnsiQuotedStr(tbl, "'");
 
DataModule1->Query1->Open();
кстать открывать Query надо перед "IF" или после?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
03.09.2010, 15:10
advo, DataModule1->Query1->SQL->Add("SELECT * FROM "+tbl); - это строка вообще лишняя...

AnsiQuotedStr(tbl, "'") - а тут мой косяк...
AnsiQuotedStr(tbl, '\'') - вот так надо... там второй параметр - это символ
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.09.2010, 15:10
Помогаю со студенческими работами здесь

Как использовать константу вместо переменной в SQL запросе?
IF EXISTS(select * from tempdb..sysobjects where id = object_id('tempdb..#select1')) DROP TABLE #select1; SET TRANSACTION...

Вставка переменной в SQL - запрос
Как вставить значение выбранного элемента в комбобоксе в sql-запрос? select * from table where id='combobox' И вопрос вдогонку,...

SQL-запрос к переменной типа Date
примерно dim f as date sql="select * from where = #"&f&"# "`возвращает пустой запрос пробывал...

Bat передачи переменной в sql запрос
Здраствуйте знатоки командной строки))) Возникла проблема с которой справиться поможете только вы. Есть три файла Zap.sql sqlный запрос,...

Сравнение значений полей БД с переменной через SQL запрос
У меня в БД Autorisation записаны поля LOGIN и PW. Всего две записи: 1. Vanya 123 2. Gosha 456 Пользователь вводит свой логин...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru