Страница 1 из 2

CW & MSSQL

Добавлено: 28 Март 2018, 15:34
gromov
Решился-таки переползти с MAV на CW MSSQL, почти сразу же наступил на грабли. Есть таблица простенкая ID SMALLINT, FM VARCHAR(20),IM VARCHAR(20),OT VARCHAR(20) ... LOGIN VARCHAR(20) и т.д. Штатный броуз все прекрасно показывает, но попытка прочитать FM,IM,OT (вместе или по отдельности) через PROP:SQL приводит к "22005 invalid character value for cast specification". А поле LOGIN читается нормально. В базе они все Cyrillic_General_CI_AS. В чем может быть дело ?

CW & MSSQL

Добавлено: 28 Март 2018, 16:14
gromov
Странная вырисовывается картина. 'SELECT FM,IM,OT FROM Table' - не работает, 'SELECT ID,FM,IM,OT FROM Table' - работает, 'SELECT FM,IM,OT,ID FROM Table' - не работает, т.е. первое поле в запросе не должно быть строкой. Почему ?

CW & MSSQL

Добавлено: 28 Март 2018, 16:17
Дед Пахом
а то что слева от {Prop:SQL} как описано?

CW & MSSQL

Добавлено: 28 Март 2018, 16:22
gromov
Table{Prop:SQL}

CW & MSSQL

Добавлено: 28 Март 2018, 16:23
Дед Пахом
Зашибись.

CW & MSSQL

Добавлено: 28 Март 2018, 16:24
gromov
Что зашибись ?

CW & MSSQL

Добавлено: 28 Март 2018, 16:26
Дед Пахом
я спрашивал не "как написано", а "как описано". Какая структура Table?

CW & MSSQL

Добавлено: 28 Март 2018, 16:32
gromov
Проще некуда, примерно вот так

ID SHORT
FM CSTRING(21)
IM CSTRING(21)
OT CSTRING(21)
LOGIN CSTRING(21)
PASS CSTRING(11)
SHOW BYTE
SHOWA BYTE
SHOWR BYTE
DELETED BYTE

Ключ по полю ID

CW & MSSQL

Добавлено: 28 Март 2018, 16:34
Дед Пахом
Ну и что Вы хотите? Пытаетесь в поле ID (SHORT) писать строки. PROP:Select пишет значения в том порядке, в котором они перечислены в селекте, в структуру Table.

CW & MSSQL

Добавлено: 28 Март 2018, 16:41
gromov
Спасибо. То, что надо. А то я бы еще граблей наловил. Это расслабон после MAV, там, как в селекте написал, так и получишь

CW & MSSQL

Добавлено: 28 Март 2018, 17:27
kreator
gromov, сразу возьмите в голову, чтобы опять на грабли не наступать. Посмотрите на форуме, или в разделе "Faq", как получать запросы с SQL серверов. То, что Вы сейчас решили проблему, ничего не значит. Привыкните, мин понаставляете... Особенно вредная конструкция - "select * from Table", хотя кому-то и нравится.

CW & MSSQL

Добавлено: 30 Март 2018, 19:42
Yufil
А вот если заглянкть, например, на viewtopic.php?f=6&t=3938&p=31395&hilit= ... sql#p31395 и скачать либу с Меги - жизнь будет казаться намного более прекрасной....

CW & MSSQL

Добавлено: 30 Март 2018, 20:55
gromov
И заглянул, и скачал и уже внедрил. Вещь !!! Большой респект Создателю. С этой функцией жить становится реально легче.
Теперь меня мучает другой момент. Как работает операция корректировки БД в Кларион ? К примеру, я создаю Update-процедуру редактирования таблицы БД, но эта операция затрагивает еще несколько таблиц. Как все это хозяйство загнать в транзакцию ?

CW & MSSQL

Добавлено: 31 Март 2018, 18:34
kreator
gromov писал(а): 30 Март 2018, 20:55 Как все это хозяйство загнать в транзакцию ?
А зачем Вам думать? Кларион уже подумал. Update-форма редактирует одну таблицу. Транзакция действует для этой таблицы. Вы руками пытаетесь ещё другие таблицы апдейтить при этом?

CW & MSSQL

Добавлено: 01 Апрель 2018, 0:56
gromov
Убедительный ответ. СПАСИБО Коллега.