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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2008, 17:29   #1
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию Помогите разобраться с SQL-запросом

Помогите пожалуйста, что я делаю не так:
Код:
        Result := MySQL.Query('SELECT * FROM `AdmReforma` WHERE `id` = ' + Items.Caption);
        if Result <> nil then
        begin
            Edit1.Text := Result.ValueByName['Name'];
        end
В итоге Edit1.Text пустой, хотя вроде как все работает!!!

Последний раз редактировалось MasterofCDM; 04.07.2008 в 13:08.
MasterofCDM вне форума Ответить с цитированием
Старый 04.07.2008, 10:33   #2
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

А можно немного больше кода??? Немогу понять какие это компоненты??? Если не стандартные то напишите какие!!!
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 04.07.2008, 12:02   #3
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Я разобрался в чем дело, просто заместо:
Код:
Edit1.Text := Result.ValueByName['Name'];
поставил
Код:
              while Result.FetchRow do
              begin
                  Edit1.Text := Result.ValueByName['Name'];
                  Edit2.Text := Result.ValueByName['Path'];
              end;
и все заработало.
MasterofCDM вне форума Ответить с цитированием
Старый 04.07.2008, 13:13   #4
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Теперь в другом проблема:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  Result: IMySQLQuery;
  Items : TListItem;
  sql: string;
begin
    if ListView1.Selected <> nil then
    begin
      MySQL.Database := 'Academia';
      if MySQL.Database <> 'Academia' then
      begin
          ShowMessage ('База не существует');
          Exit;
      end
      else
      begin
          MySQL.ExecSQL('SET CHARSET cp1251');
          sql := 'DELETE FROM AdmReforma WHERE id = ' + Items.Caption;
          Result := MySQL.Query('DELETE FROM AdmReforma WHERE id = ' + Items.Caption);
          ListView1.Items.Clear;
    end;
end;
При нажатии кнопки вызывающей эту процедуру, Delphi вылетает с ошибкой и спотыкается он на строчке:
sql := 'DELETE FROM AdmReforma WHERE id = ' + Items.Caption;
чего здесь может быть неправильно?
MasterofCDM вне форума Ответить с цитированием
Старый 04.07.2008, 13:18   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

sql := 'DELETE FROM AdmReforma WHERE id = ' + ListView1.Selected.Caption;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.07.2008, 13:42   #6
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Честно говоря не понимаю разницу между: Items.Caption и ListView1.Selected.Caption, но тем не менее так работает. Спасибо.
MasterofCDM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с запросом Viper666 Microsoft Office Access 2 14.05.2008 22:35
Помогите с запросом Blackmore БД в Delphi 3 07.05.2008 01:18
SQL. Помогите с запросом. fluxion БД в Delphi 2 27.12.2007 08:01
Помогите с SQL запросом. Monoflextor БД в Delphi 12 29.04.2007 16:53
помогите с запросом 9-11 БД в Delphi 4 20.11.2006 10:04