Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.11.2012, 19:34
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию Трудности с очисткой Edit

Привет друзья.
Хочу чтоб Edit чистился при успешном завершении запросов. Но почему то пропадает результирующее множество из дбгрида когда я его чищю. Короче вот код из него будет яснее. Игрался с exit не помогло либо выборка либо чистый эдит
Код:
procedure TBarcodeForm.Edit1Change(Sender: TObject);
var
Query:string;
Date:string;
Flag:bool;
begin
if (Edit1.Text='') and (Str='') then
 begin
  BarcodeForm.ADOQuery1.SQL.Clear;
  BarcodeForm.ADOQuery1.SQL.Add('SELECT * FROM works');
  BarcodeForm.ADOQuery1.Open;
  label9.Caption:= countrec + IntToStr(BarcodeForm.Adoquery1.RecordCount);

 end else begin
  BarcodeForm.ADOQuery1.SQL.Clear;
  BarcodeForm.ADOQuery1.SQL.Add('SELECT * FROM works WHERE cBarcode = :dd1_b');
  BarcodeForm.ADOQuery1.Parameters.ParamByName('dd1_b').Value:= Edit1.Text;
  BarcodeForm.ADOQuery1.Open;
  Date := FormatDateTime('yyyy-mm-dd', Now);
  Str:= Adoquery1.FieldByName('nKey').asstring;
  label9.Caption:= 'ID: ' + Str;
  //Flag:=false;

  if (BarcodeForm.ADOQuery1.RecordCount > 0) and (Str <> '') then
   begin
  Query:='UPDATE works SET dJobDone = '''+ Date +''' WHERE nKey = ' + Str;
  BarcodeForm.ADOQuery1.SQL.Clear;
  BarcodeForm.ADOQuery1.SQL.Add(Query);
  BarcodeForm.ADOQuery1.ExecSQL;
  Query:='SELECT * FROM works WHERE nKey = ' + Str;
  BarcodeForm.ADOQuery1.SQL.Clear;
  BarcodeForm.ADOQuery1.SQL.Add(Query);
showmessage(BarcodeForm.ADOQuery1.SQL.Text);
  BarcodeForm.ADOQuery1.Open;
  //Flag:=true;

  exit;
  Str:='';
    Edit1.Text:='';
   end;
  end;
end;

Последний раз редактировалось aqula, 14.11.2012 в 19:38.
Ответить с цитированием
  #2  
Старый 14.11.2012, 19:54
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Помоему вообще работать не будет
по крайней мере я что то не уловлю смысл всех этих манипуляций.

к чему вообще все это? у вас поиск только по 1 символу? или в едит сразу (насколько понимаб штрих-код) вбивается копи пастом или присвоением?

ПС. А на Update еще Query отдельный не положить ли?
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"

Последний раз редактировалось Black Raider, 14.11.2012 в 20:08.
Ответить с цитированием
  #3  
Старый 14.11.2012, 21:56
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

не по одному. Сканер штрих-кода работает как клава. В эдите вводится строка из n символов - я произвожу поиск по бд. и вывожу данные в дбгриде по этому коду. Далее я подношу еще раз к другому штрих-коду и чтоб эдит не замусоривать я его должен чистить после каждого считвания. вот

> ПС. А на Update еще Query отдельный не положить ли?
Вторую адошку чтоли?

Последний раз редактировалось aqula, 14.11.2012 в 21:59.
Ответить с цитированием
  #4  
Старый 14.11.2012, 22:51
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Цитата:
Но почему то пропадает результирующее множество
вообще пропадает? т.е. пустой грид?
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #5  
Старый 15.11.2012, 00:01
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

а если так: (елси уж очистка нужно при удачном завершении всех запросов)
Код:
procedure TBarcodeForm.Edit1Change(Sender: TObject);
var
	Date:string;
	Flag:bool;
begin
if (Edit1.Text='') and (Str='') 
	then
	begin
		BarcodeForm.ADOQuery1.Close;
		BarcodeForm.ADOQuery1.SQL.Text:='SELECT * FROM works';
		try
			BarcodeForm.ADOQuery1.Open;
			Except
				Exit;
			end;
		Label9.Caption:= CountRec + IntToStr(BarcodeForm.Adoquery1.RecordCount);
  end 
	else 
	begin
		BarcodeForm.ADOQuery1.Close;
		BarcodeForm.ADOQuery1.SQL.Text:='SELECT * FROM works WHERE cBarcode = :dd1_b';
		BarcodeForm.ADOQuery1.ParamByName('dd1_b').Value:= Edit1.Text;
		try
			BarcodeForm.ADOQuery1.Open;
			Except
				Exit;
			end;
		Date := FormatDateTime('yyyy-mm-dd', Now);
		Str:= ADOQuery1.FieldByName('nKey').asString;
		Label9.Caption:= 'ID: ' + Str;
		if (BarcodeForm.ADOQuery1.RecordCount > 0) and (Str <> '') 
			then
			begin
				BarcodeForm.ADOQuery1.Close;
				BarcodeForm.ADOQuery1.SQL.Text:='UPDATE works SET dJobDone = '''+ Date +''' WHERE nKey = ' + Str;
				try
					BarcodeForm.ADOQuery1.ExecSQL;
					Except
						Exit;
					end;
				BarcodeForm.ADOQuery1.Close;
				BarcodeForm.ADOQuery1.SQL.Text:='SELECT * FROM works WHERE nKey = ' + Str;
				try
					BarcodeForm.ADOQuery1.Open;
					Except
						Exit;
					end;
				Str:='';
			end;
  end;
	Edit1.Text:='';
end;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #6  
Старый 15.11.2012, 22:13
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

Нашел еще один способ.
...
Edit1.SelectAll;
End;
Как таковой затирки нет, но при вводе новой строки прежняя стирается.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025