Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Thisform.MyButton.click() MyValue1 = Thisform.TextBox1.Value MyValue2 = Thisform.TextBox2.Value ....................................... cCommand = "INSERT INTO MyTable (MyField1, MyField2...) VALUES (MyValue1, MyValue2...)" =MyStoredProcedure1(cCommand) где хранимка PROCEDURE MyStoredProcedure1 PARAMETERS cString BEGIN TRANSACTION &cString ENDTRANSACTION имеет ли право на жизнь такой позход модификации данных естественно таблица не одна а несколько... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 16:21 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Изврат, по-моему. Зачем делать вызов процедуры и макроподстановку, расходуя ресурсы, когда можно просто: BEGIN TRANSACTION INSERT INTO MyTable (MyField1, MyField2...) VALUES (MyValue1, MyValue2...) END TRANSACTION И еще, нужна ли тогда вообще транзакция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:25 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
макроподстановка и правда не нужна.. извините... можно напрямую передавать пареметры... транзакция же ИМХО нужна если обновление не в одной таблице а во многих.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:31 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
макроподстановкой точнее я хотел сделать универсальность.. то есть при этому будет одна хранимка на все вставки, а, если в команде дать вместо инсерта - апдейт, то будет вообще одна хранимка... в случае непосредственного написания СКЛ кода в ХП процедур таких писать придется множество... если я не прав - хотелось бы услышать мнения.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:34 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Забыли про буферизацию... и про повторные попытки записать данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 17:36 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Сергей - не забыл.. просто не упопянул... PROCEDURE MyStoredProcedure1 PARAMETERS cString =cursorsetprop('buffering', 5, 'MyTable') BEGIN TRANSACTION &cString IF m.llSuccess = .T. llSuccess = TableUpdate(.T.,m.llIsOtherWrite,'MyTable') ENDIF IF m.llSuccess = .F. ROLLBACK LOCAL laError(1) =AERROR(laError) .................................... ELSE END TRANSACTION ENDIF ********************************** ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:07 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Если версия 8 и выше, я бы еще применил излюбленное средство от "крутых программёров" - TRY CATCH... И возврат результа выполнения из ХП - хотя-бы успешно/не успешно с соответствующим анализом на клиенте... Да и в конкретном примере - буферизацию лучше 3 - то есть для строки... И я бы все-таки пару раз бы попробовал выполнить операцию - вдруг запись будет заблокирована... Особенно когда много клиентов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 18:58 |
|
||
|
Верен ли такой подход?
|
|||
|---|---|---|---|
|
#18+
Попытка написать универсальную процедуру, как правило, плохо кончаются. Такие процедуры начинают обрастать немеренным количеством условий и ограничений (ЕСЛИ...ТО...) Кроме того, ты ведь будешь заниматься правкой непосредственно на форме. Какой смысл дублировать то, что FoxPro и сам прекрасно сделает? Я имею в виду модификацию в буфере таблицы. В методе Click() останется только сбросить буфер. Никаких "универсальных" процедур по модификации. Возможно, имеет смысл сделать именно процедуру сброса буфера. Но не как ХП, а как метод некоего класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 19:56 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32895360&tid=1594948]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
86ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 402ms |

| 0 / 0 |
