|
ADODB.RecordSet with UPDATE
| ☑ |
0
areaho0ray
19.10.16
✎
08:09
|
Доброго времени суток.
Сейчас влип в ситуацию - через RecordSet изменяю строки, попавшие под условия. Но есть такие моменты, что под условие ни одна из строк в таблице не попадает. В этом случае нужно сделать INSERT. Но - как понять, что количество измененных строк после RecordSet.Open() = 0?
|
|
1
бомболюк
19.10.16
✎
08:41
|
на уровне adodb.recordset не подскажу, а вот на уровне t-sql есть там @@rowcount, поэтому делаешь так:
update tablename set fieldname = 'value'
if (@@rowcount = 0)
insert into tablename(fieldname) values('value')
|
|
2
areaho0ray
19.10.16
✎
08:42
|
Хмм... У меня база в .sdf, я даже не знаю, есть ли там такая возможность.
|
|
3
бомболюк
19.10.16
✎
08:44
|
а свойство "RecordCount" у adodb.recordset - это не то?
|
|
4
areaho0ray
19.10.16
✎
08:47
|
token in error = if
(3) Показывает, если сделать SELECT. А при UPDATE говорит
RecordCount Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт.
Хоть я его не закрываю. Подозреваю, это из-за того, что в переменной LockType = 1
|
|