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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2015, 08:32   #1
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию Получить ответ от БД

Подскажите как получить ответ от сервера
Делаю простой запрос
Код:
SELECT COUNT(*) FROM room Where Moskow :count
Как получить ответ в допустим в edit?

В sql 'SELECT COUNT(*) FROM room Where Moskow :count'

Значение у параметра Integer
Edit1.text:=SQLQueryR.Params.ParamB yName('count').AsString;

Последний раз редактировалось mitiay; 06.11.2015 в 08:55.
mitiay вне форума Ответить с цитированием
Старый 06.11.2015, 09:38   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1) написать ПРАВИЛЬНЫЙ запрос.
ваш запрос невозможно выполнить. Мартин Грубер. Понимание SQL.
Код:
select count(*) as cnt 
from room 
where <имя поля таблицы> =:pam
это называется параметр запроса
а это - будет задание имени поля в результируещем наборе данных.

2) в программе ЗАДАТЬ значение параметра.
Код:
SQLQueryR.Params.ParamByName('count').AsString='Moscow';
3) ПОЛЧИТЬ данные из БД
Код:
SQLQueryR.Open;
4) ДОСТАТЬ нужные данные (нужное ПОЛЕ (Filed)) из НД(набора данных) и передать их в нужное место и в нужном формате.
Код:
Edit1.Text:=SQLQueryR.FiledByName('cnt').АsString;
5) если НД (его данные) более не предполагается использовать,
то ЗАКРЫТЬ набор данных.
Код:
SQLQueryR.Close;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.11.2015, 09:58   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
with SQLQueryR do begin
 sql.text:='SELECT COUNT(*) FROM room Where [Страна]='+Quotedstr('Moskow');
 try
  open;
  Edit1.Text:=Fields[0].AsString;
  Close;
 except
  on e:Exception do Edit1.Text:='Упс...'+e.Message;
 end;
end;
I'm learning to live...

Последний раз редактировалось Stilet; 06.11.2015 в 12:31.
Stilet вне форума Ответить с цитированием
Старый 06.11.2015, 10:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

[OFFTOP=ON]
Цитата:
Сообщение от Stilet
Код:
 [Страна]='+Quotedstr(Moskow)
Виталий, Вы уверены, что Москва - это страна?!

[OFFTOP=OFF]
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.11.2015, 10:29   #5
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
[OFFTOP=ON]
Виталий, Вы уверены, что Москва - это страна?!
[OFFTOP=OFF]
Думаю, тут нет ошибки...
Iron Monk вне форума Ответить с цитированием
Старый 06.11.2015, 12:30   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Вы уверены, что Москва - это страна?
Ну с моей колокольни политотовой это саме так

P.S. А вообще я просто случайно написал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2015, 17:23   #7
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Спасибо большое!А еще вопрос вообще не могу понять как это реализовать.
В общем задача такая
В базе есть таблица Moskow в таблицу разрешено записывать только 6 строк, нужно сделать так чтобы при нажатии на кнопку на форме допустим button1 первая строка заполнялась на btn3 третья, так сказать ячейки както привязать кнопки к полям в базе
mitiay вне форума Ответить с цитированием
Старый 06.11.2015, 18:52   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Т.е. ты хочешь наклепать на форму кнопок в ряд с текстом из БД?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2015, 19:52   #9
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Т.е. ты хочешь наклепать на форму кнопок в ряд с текстом из БД?
Да! Но как бы привязать каждую строчку к кнопке, то есть нажали на кнопку 3, строка номер 3 заполнилась
mitiay вне форума Ответить с цитированием
Старый 06.11.2015, 20:11   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
      Classes, SysUtils, dbf, FileUtil, Forms, Controls, Graphics, Dialogs,
			Buttons, ExtCtrls, StdCtrls;

type
      //Создаем кнопку с пришытими к ней дополнительными свойствами
      TBitBtn=class(Buttons.TBitBtn)
            private
            //Тут набрасываем свойств, которые свяжем с записью в таблице
                  FieldID:Integer;
      end;
			{ TForm1 }

      TForm1 = class(TForm)
						Button1: TButton;
						Dbf1: TDbf;
						Panel1: TPanel;
						procedure Button1Click(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      private
            { private declarations }
      public
            { public declarations }
      end;

var
      Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  //Наполняем панельку кнопками
  with Dbf1 do begin
    First;
    while not eof do begin
     With TBitBtn.Create(Panel1) do begin
      //В которых свойствам дополнительным назначаем привязку к записи
      FieldID:=FieldByName('ID').AsInteger;
      Align:=alClient;
      Caption:=FieldByName('Наименование').AsString;
      Parent:=Panel1;
      //Задаем им обработчик
      OnClick:=@Button1Click;
      Show;
		 end;
		end;
	end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //А в обработчике используя пришитые и связанные свойста че-то делаем
  with TBitBtn(Sender),Dbf1 do begin
   Locate('ID',FieldID,[]);
   Edit;
   FieldByName('Чето-там').AsString:='Чему-то'
	end;
end;

end.
Годится идея?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HttpWebResponse получить ответ от сервера Pearl777 Visual C++ 2 13.07.2014 15:26
Winsock получить ответ Alex2009 Работа с сетью в Delphi 0 15.02.2014 16:42
Получить ответ сервера danil123 Работа с сетью в Delphi 3 15.12.2012 20:39
Получить полный ответ от Socket Shouldercannon Работа с сетью в Delphi 3 09.03.2012 23:05
Отправить и получить ответ Andrey85 Работа с сетью в Delphi 1 03.01.2011 02:58