Есть база MS SQL Server2012, пишу в RAD XE3.
До сих пор делал разные запросы через ADOQuery, сохранял результат в переменные, а потом уже с ними работал.
Потом подумал, почему не вынести все тексты запросов в отдельный файл.
Сделал так:
ADOQuery->SQL->Clear();
ADOQuery->Parameters->Clear();
ADOQuery->SQL->LoadFromFile(ExtractFilePath(Application->ExeName)+ "\\sqlquery\\ZapytForFilm.txt") ;
ADOQuery->Parameters->ParamByName("find_id")->DataType = ftInteger;
ADOQuery->Parameters->ParamByName("find_id")->Direction = pdInput;
ADOQuery->Parameters->ParamByName("find_id")->Value = IdFilm;
ADOQuery->Prepared = true;
try
{
ADOQuery->Open();
}
catch (EADOError& e)
{
MessageDlg("Error while connecting", mtError, TMsgDlgButtons() mbOK, 0);
return;
}
текст запроса (для примера):
USE emty_base;
SELECT FileTableRootPath() AS fullpath;
DECLARE @ID_FILM INT
SET @ID_FILM = :find_id
SELECT film.film_id, film.nazva FROM film WHERE film.film_id = @ID_FILM
Вот тут возникает вопрос. У меня получается достучатся только до первого SELECT.
Memo->Lines->Add(ADOQuery->FieldByName("fullpath")->AsString);
Memo->Lines->Add(ADOQuery->FieldByName("nazva ")->AsString); Первая строка выводит результат нормально, а на второй выдает "ADOQuery:Field 'nazva' not found."
Но ведь в Menedgment Studio такие вопросы выполняются без проблем (смотри рисунок).
Так как ролучить все результаты запроса??? Или единственный выход делать несколько последовательных запросов?