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

Вниз

"правильное" выполнение запросов   Найти похожие ветки 

 
Tab   (2005-09-20 11:30) [0]

В программе выполняются запросы, делаю следующим образом:

   Dm.IBQuery2.Close;
   Dm.IBQuery2.SQL.Clear;
   Dm.IBQuery2.SQL.Add("INSERT INTO DISCIP (DISCIPLINA, SPEC_ID, SEMESTR, PR_ID, TD)");
   Dm.IBQuery2.SQL.Add("VALUES ("""+discip.Text+""","+IntToStr(cod_sp2)+","+smstr.Text+", "+IntToStr(cod_pr2)+", "+IntToStr(td)+")");
   Dm.IBQuery2.ExecSQL;
думаю разницы между параметрезированными запросами не будет? Кто как делает?


 
Val ©   (2005-09-20 11:33) [1]

я так не делаю.


 
Sergey13 ©   (2005-09-20 11:35) [2]

>думаю разницы между параметрезированными запросами не будет?
Будет. Т.е. результат будет одинаковый, но затраты сервера на их выполнение разные. Плюс параметры позволяют делать проще и надежнее работу с датами и строками со всякими там кавычками и т.п. внутри.


 
Os ©   (2005-09-20 11:41) [3]

Будут глюки со строками как минимум. Например строка: hi"
Параметры надежней


 
ANB ©   (2005-09-20 12:02) [4]

Параметры надежнее и удобнее.


 
Tab   (2005-09-20 12:24) [5]

ok, с этим понятно значит тогда получается так,
объявляю такого типа переменную:
const
QGetStudID =
"SELECT STUD.ID, STUD.ST_MDL_ID FROM STUD WHERE ((STUD.ST_FIO = :ST_FIO ))";
объявлять можно в каждом отдельно или лучше общем (в том же datamodule?)


 
Sergey13 ©   (2005-09-20 12:28) [6]

2[5] Tab   (20.09.05 12:24)
Белиберда какая то, ИМХО.


 
Tab   (2005-09-20 17:38) [7]

ну т.е. объявляю константу строковую, потом просто
sql.add(str_const);
и потом параметры заносить. так?


 
ANB ©   (2005-09-20 19:24) [8]

Совет : не мучай add, нарвешься на ошибку. Есть sql.text. Вот и засовывай туда запрос.


 
Tab   (2005-09-20 19:38) [9]

всем спасибо за ответы


 
Sergey13 ©   (2005-09-21 09:19) [10]

2[7] Tab   (20.09.05 17:38)
А нафига вообще константа какая то? Кинь на форму (или, что правильнее, в датамодуль) кверик, пропиши ему запрос и определи параметры. Перед выполнением присвой параметрам значения.


 
evvcom ©   (2005-09-21 09:24) [11]


> Dm.IBQuery2.Close;
> ...
> Dm.IBQuery2.ExecSQL;

Это очень интересное решение. :)

Почему народ так тянется к динамически создаваемым запросам? Типа экономия ресурсов? Да на коде в этом случае больше потеряешь.


 
Tab   (2005-09-21 10:21) [12]

т.е. для каждой формы, кидать в datamodule query и работать только с ним?
просто видел как то программу где в этом datamodule штук 50-60 ibquery, не понравилось, почему не знаю.


 
Sergey13 ©   (2005-09-21 10:27) [13]

2[12] Tab   (21.09.05 10:21)
Зато тебе наверное понравится прога, где с одним квериком работают в 100-150 местах кода этой проги полностью переписывая его свойства. 8-)


 
evvcom ©   (2005-09-21 14:14) [14]


> т.е. для каждой формы, кидать в datamodule query

У меня каждая форма работает с одним двумя DataSet-ами, поэтому я их кидаю прямо на форму, а не в Датамодуль.

> и работать только с ним?

Да, работать только с ним.


 
Tab   (2005-09-21 15:43) [15]


> Зато тебе наверное понравится прога, где с одним квериком
> работают в 100-150 местах кода этой проги полностью переписывая
> его свойства. 8-)

ну так там переписывать только sql  :-), но все равно спасибо , наверное теперь пойду другим путем :-).


 
Sergey13 ©   (2005-09-21 15:51) [16]

2[15] Tab   (21.09.05 15:43)
> ну так там переписывать только sql  
Мало? А если SQL на полстраницы?
Или такой случай. В цикле вызывается запрос и иногда обработка уходит в другую процедуру, где этот же запрос переписывается. Что делать?



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

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

Наверх





Память: 0.47 MB
Время: 0.042 c
3-1125591659
suharew
2005-09-01 20:20
2005.10.16
Кэшируются базы???


3-1126023296
suharew
2005-09-06 20:14
2005.10.16
Блокировка записи


3-1125959367
DimonS
2005-09-06 02:29
2005.10.16
Что можно сделать с зарезервированным словом в запросе?


2-1126431625
Drow
2005-09-11 13:40
2005.10.16
задача на Pascal


1-1127349466
френк
2005-09-22 04:37
2005.10.16
Посоветуйте: Plugins...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский