@@ -635,7 +635,7 @@ proc getValue*(db: DbConn, stmtName: SqlPrepared): string
635
635
636
636
proc tryInsertID* (db: DbConn, query: SqlQuery,
637
637
args: varargs [string , `$`]): int64
638
- {.tags: [WriteDbEffect], raises: [DbError ].} =
638
+ {.tags: [WriteDbEffect], raises: [].} =
639
639
# # Executes the query (typically "INSERT") and returns the
640
640
# # generated ID for the row or -1 in case of an error.
641
641
# #
@@ -650,16 +650,19 @@ proc tryInsertID*(db: DbConn, query: SqlQuery,
650
650
# # 1, "item#1") == -1
651
651
# # db.close()
652
652
assert(not db.isNil, " Database not connected." )
653
- var q = dbFormat(query, args)
654
- var stmt: sqlite3.PStmt
655
653
result = - 1
656
- if prepare_v2(db, q, q.len.cint , stmt, nil ) == SQLITE_OK:
657
- if step(stmt) == SQLITE_DONE:
658
- result = last_insert_rowid(db)
659
- if finalize(stmt) != SQLITE_OK:
660
- result = - 1
661
- else :
662
- discard finalize(stmt)
654
+ try :
655
+ var q = dbFormat(query, args)
656
+ var stmt: sqlite3.PStmt
657
+ if prepare_v2(db, q, q.len.cint , stmt, nil ) == SQLITE_OK:
658
+ if step(stmt) == SQLITE_DONE:
659
+ result = last_insert_rowid(db)
660
+ if finalize(stmt) != SQLITE_OK:
661
+ result = - 1
662
+ else :
663
+ discard finalize(stmt)
664
+ except DbError:
665
+ discard
663
666
664
667
proc insertID* (db: DbConn, query: SqlQuery,
665
668
args: varargs [string , `$`]): int64 {.tags: [WriteDbEffect].} =
@@ -692,7 +695,7 @@ proc insertID*(db: DbConn, query: SqlQuery,
692
695
693
696
proc tryInsert* (db: DbConn, query: SqlQuery, pkName: string ,
694
697
args: varargs [string , `$`]): int64
695
- {.tags: [WriteDbEffect], raises: [DbError ], since: (1 , 3 ).} =
698
+ {.tags: [WriteDbEffect], raises: [], since: (1 , 3 ).} =
696
699
# # same as tryInsertID
697
700
tryInsertID(db, query, args)
698
701
0 commit comments