Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Вниз

Ребята сравните несколько запросов...   Найти похожие ветки 

 
Новинький   (2006-07-05 11:44) [0]

with<\B> ADOQuery1 do<\B>
try<\B>
if<\B> ADOQuery1 then<\B>    
 begin<\B>
 Close;
 SQL.Clear;
 SQL.Text:="SQL- запрос";
 Open;
  { if Execute then
             begin
             on ??? do
              First;  
             end;      }
 end;<\B>
finally<\B>
{ Free;  }
end;<\B>

Может будет лутше и в чем отличие (что лутше а что хуже?)

with<\B> ADOQuery1 do<\B>
try<\B>
if<\B> ADOQuery1 then<\B> Close;  
 SQL.Clear;
 SQL.Text:="SQL- запрос";
 Open;
  { if Execute then
             begin
             on ??? do
              First;  
             end;      }
finally<\B>
{ Free;  }
end;<\B>

И нужно ли выгружать объект ADOQuery1 в финале обработки исключений? Задаю вопрос потому, что привыгрузке этого объекта я невижу результата!

Или лутше запрос:

with ADOQuery1 do
try
Active := false;
SQL.Text:="SQL- запрос";
ExecSQL;
except
on E:Exception do ShowMessage(E.Message);
end;

или лутше так:

with ADOQuery1 do
try
if Active then Close;
SQL.Clear;
SQL.Text:="SQL- запрос";
                                          и нужно ли ставить Open;
ExecSQL;
except
on E:Exception do ShowMessage(E.Message);
end;


 
Новинький   (2006-07-05 11:46) [1]

Пордон теги не правильно закрыл!


 
Ega23 ©   (2006-07-05 11:49) [2]

Напиши вообще без тегов.


 
Новинький   (2006-07-05 11:51) [3]

with ADOQuery1 do
try
if ADOQuery1 then  
begin
Close;
SQL.Clear;
SQL.Text:="SQL- запрос";
Open;
 { if Execute then
            begin
            on ??? do
             First;  
            end;      }
end;
finally
{ Free;  }
end;

Может будет лутше и в чем отличие (что лутше а что хуже?)

with ADOQuery1 do
try
if ADOQuery1 then Close;  
SQL.Clear;
SQL.Text:="SQL- запрос";
Open;
 { if Execute then
            begin
            on ??? do
             First;  
            end;      }
finally
{ Free;  }
end;

И нужно ли выгружать объект ADOQuery1 в финале обработки исключений? Задаю вопрос потому, что привыгрузке этого объекта я невижу результата!

Или лутше запрос:

with ADOQuery1 do
try
Active := false;
SQL.Text:="SQL- запрос";
ExecSQL;
except
on E:Exception do ShowMessage(E.Message);
end;

или лутше так:

with ADOQuery1 do
try
if Active then Close;
SQL.Clear;
SQL.Text:="SQL- запрос";
                                         и нужно ли ставить Open;
ExecSQL;
except
on E:Exception do ShowMessage(E.Message);
end;


 
Desdechado ©   (2006-07-05 11:55) [4]

SQL.Clear;
SQL.Text:="SQL- запрос";

Здесь первая строка лишняя.

if ADOQuery1 then
Вот это вооще непоятно что за зверь.

SQL.Text:="SQL- запрос";
ExecSQL; //  и нужно ли ставить Open;

ExecSQL для запросов типа INSERT, UPDATE, DELETE
Open - для SELECT


 
Desdechado ©   (2006-07-05 11:56) [5]

Free нужно обычно в тех случаях, когда объект создается вручную, а не валяется на форме (там он сам разрушится вместе с формой).


 
Новинький   (2006-07-05 12:38) [6]


> if ADOQuery1 then
> Вот это вооще непоятно что за зверь.

Я ошибся, я имел ввиду:
if Active then Close;


 
Новинький   (2006-07-05 12:39) [7]

Какими запросами пользуетесь вы? Если конечно не секрет!
Я бы хотел увидеть все возможные организации вопросов.


 
Ega23 ©   (2006-07-05 12:44) [8]


> Какими запросами пользуетесь вы? Если конечно не секрет!
>
> Я бы хотел увидеть все возможные организации вопросов.


Всеми, какие предоставляет T-SQL.


 
ЮЮ ©   (2006-07-05 12:47) [9]

Из своего предложил только  SQL.Text:="SQL- запрос";
а от нас хочет все возможные организации вопросов.

Прям Шпиён какой-то


 
Desdechado ©   (2006-07-05 12:49) [10]

Я пользуюсь компонентами dbExpress.
И обязательно параметрическими запросами.


 
Новинький   (2006-07-05 12:52) [11]

А каки именно! Ведь можно обойтись и без обработки исключений!
Но лутше конечно с оброботкой исключений!
Но ведь оброботку исключения можно организовать по разному! Какой "самый" правельный надёжный и производительный способ?
Как в "идеале" должен организовываться, запрос ?


 
Новинький   (2006-07-05 12:53) [12]

Select и т.д. и т.п. я это не имел ввиду!


 
Плохиш ©   (2006-07-05 13:01) [13]


> ЮЮ ©   (05.07.06 12:47) [9]
> Из своего предложил только

Он свой показывал в http://delphimaster.net/view/2-1152024016/


 
Ega23 ©   (2006-07-05 13:03) [14]

Писать хранимые процедуры.


 
evvcom ©   (2006-07-05 13:49) [15]

> Но лутше конечно с оброботкой исключений!

Чем это "лутше"?

> Но ведь оброботку исключения можно организовать по разному!

Можно. А она уже организована по дефолту.

> Какой "самый" правельный надёжный и производительный способ?

Самый производительный - это их не обрабатывать. Тогда кода будет минимум, соответственно время на доп.обработку тратиться не будет. Насчет остальных эпитетов только смайлик :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.012 c
3-1147846173
Ega23
2006-05-17 10:09
2006.07.23
union по двум SP


11-1130734441
Reset
2005-10-31 07:54
2006.07.23
Убрать PopupMenu, если оно уже "вывалилось"?


3-1148270251
Nike
2006-05-22 07:57
2006.07.23
Как заставить работать индексы в Access-таблице?


1-1149937656
V.exeR
2006-06-10 15:07
2006.07.23
gen - плагин WinAMP a с формой


15-1151231537
@BraIN
2006-06-25 14:32
2006.07.23
Windows Vista Product Key





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский