Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2008, 10:35   #1
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию Запрос в MySQL

Код:
Status := 'a';
Result := MySQL.Query('select * from `Students` WHERE `Status` =  ' + Status + ' ORDER BY `Name1`');
Все работало, пока не поставил WHERE `Status` = ' + Status + ', может чего-то в запросе накосячил
Причем вот так вот работает:
Код:
            Result := MySQL.Query('SELECT * FROM Students ORDER BY `Name1`');
            if Result <> nil then
            begin
                i := 0;
                while Result.FetchRow do //пробежимся по записям
                begin
                    if (Result.ValueByName['Status'] = 'a') then
                    begin
                        i := i + 1;
                        Items := ListView1.Items.Add;
                        Items.Caption := inttostr (i);
                        Items.SubItems.Add (Result.ValueByName['Name1']);
                        Items.SubItems.Add (Result.ValueByName['Name2']);
                        Items.SubItems.Add (Result.ValueByName['Name3']);
                        Items.SubItems.Add (Result.ValueByName['DataRojdenia']);
                        Items.SubItems.Add (Result.ValueByName['id']);
                    end;
                end;
            end;

Последний раз редактировалось MasterofCDM; 10.11.2008 в 12:13.
MasterofCDM вне форума Ответить с цитированием
Старый 11.11.2008, 08:46   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

статус это у Вас строка.
нужно заключить в кавычки:
либо так:
Код:
Result := MySQL.Query('select * from `Students` WHERE `Status` =  ''' + Status + ''' ORDER BY `Name1`');
либо так:
Код:
Result := MySQL.Query('select * from `Students` WHERE `Status` =  ' + QuotedStr(Status) + ' ORDER BY `Name1`');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.11.2008, 09:38   #3
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Понял, спс.
MasterofCDM вне форума Ответить с цитированием
Старый 20.11.2008, 22:13   #4
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Еще вопросик:
Код:
                   Result1 := MySQL.Query('SELECT * FROM Prepods WHERE id = ' + Result.ValueByName['idPrepod']);
                    if Result1 <> nil then
                    begin
                        while Result1.FetchRow do //пробежимся по записям
                        begin
                            Items.SubItems.Add (Result1.ValueByName['Name']);
                        end
                    end;
Некоторые записи для "Result.ValueByName['idPrepod'])" отсутствуют, добавления элемента в "Items" не происходит и вся таблица плывет, поэтому вопрос, а как проверить был ли результат у запроса Result1?

Последний раз редактировалось MasterofCDM; 20.11.2008 в 22:19.
MasterofCDM вне форума Ответить с цитированием
Старый 03.12.2008, 13:20   #5
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Еще вопрос:
Выполняю запрос
Код:
MySQL.Query(INSERT INTO .......
как можно узнать какой id будет присвоен этой строчке
MasterofCDM вне форума Ответить с цитированием
Старый 03.12.2008, 16:58   #6
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Цитата:
Сообщение от MasterofCDM Посмотреть сообщение
Еще вопрос:
Выполняю запрос
Код:
MySQL.Query(INSERT INTO .......
как можно узнать какой id будет присвоен этой строчке
Если я правильно помню то после добавление у вас активная именно эта строка таблицы по этому просто Form1.ADoQuery.FieldByName('id').va lue.
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос к mysql wall66 PHP 6 03.11.2008 22:49
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29
Как оптимизировать запрос MySQL с выборкой из двух таблиц. Johnatan SQL, базы данных 6 13.04.2008 03:10
запрос в MySQL, Error Teksa БД в Delphi 4 12.10.2007 22:03