
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.07.2005, 21:38
|
|||
|---|---|---|---|
Вот такой вопрос ... (datawindow vs stored procedure) |
|||
|
#18+
Добрый день. PB9.0.2 / mssql 2K 1. написал просиджер (select a, b, c from abcdef). 2. на его базе сделал datawindow dw_test. 3. сохранили синакс в DB. Открываем окно, зовём синтакс из DB. делаем dw_1.Create(s_dwsyntax_str, s_errors) делаем dw_1.SetTransObject (i_tr_sql) делаем dw_1.Retrieve() Всё в порядке. Kто-то меняет просиджер на (select a, d, b, f, c, a from abcdef). я етого не знаю, делаю очередной dw_1.Retrieve(), и ессесвенно имею: /* sql code 0 Select Error: column list do not match. */ Вопрос: как бы перед тем как делать Retrieve(), проверить сохранённый синтакс (количество, название, последовательность колонок) против вызываемого просиджер, и если они не соответствуют, STOP, а ещё лучше, подправить синтакс. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.07.2005, 23:17
|
|||
|---|---|---|---|
Вот такой вопрос ... (datawindow vs stored procedure) |
|||
|
#18+
Создавать datawindow динамически, через SyntaxFromSQL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.07.2005, 19:05
|
|||
|---|---|---|---|
Вот такой вопрос ... (datawindow vs stored procedure) |
|||
|
#18+
Сенькс, вчера дошурупил, начальство сказало, перекраивать datawindow под просиджер не надо, только остановить, что бы усера не видели угрожаюших месаджей. Сделал так, может кому пригодитса. dw_1 = datawindow, То чего они увидят. l_ds = datastore, То с чем я буду его сравнивать. Если у кого есть поправки... please. dw_1.SetRedraw(FALSE) dw_1.Create(s_dwsyntax_str, s_errors) IF Len(s_errors) > 0 THEN dw_1.SetRedraw(TRUE) MessageBox(This.Title, 'SQLCreate Failed. Errors: ' + s_errors) RETURN END IF l_ds = create datastore s_procedure = dw_1.Object.DataWindow.Table.procedure l_pos = Pos(s_procedure, '=') s_dwsyntax_str = Left(s_procedure, l_pos + 1) + '0' s_dwsyntax_str = SQLCA.SyntaxFromSQL(s_dwsyntax_str, & 'style(type=grid)', s_errors) IF Len(s_errors) > 0 THEN dw_1.SetRedraw(TRUE) MessageBox('Caution', 'SyntaxFromSQL caused these errors: ' + s_errors) RETURN END IF l_ds.Create(s_dwsyntax_str, s_errors) IF Len(s_errors) > 0 THEN dw_1.SetRedraw(TRUE) Destroy(l_ds) MessageBox('Caution', 'Create cause these errors: ' + s_errors) RETURN END IF s_columns = dw_1.Object.DataWindow.Table.columns s_ds_columns = l_ds.Object.DataWindow.Table.columns destroy l_ds IF s_columns <> s_ds_columns THEN dw_1.DataObject = '' dw_1.SetRedraw(TRUE) MessageBox(This.title, 'Procedure has been changed, ' + & report can not be loaded.', Exclamation!) RETURN END IF dw_1.SetRedraw(TRUE) ................................ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=15&tablet=1&tid=1338224]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
91ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
25ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 422ms |

| 0 / 0 |
