【发布时间】:2018-10-31 15:01:17
【问题描述】:
插入函数在未包裹 ODBC 事务时起作用。
我在插入时尝试了两种方法。 Currval 和 Returning(在 PostgreSQL 8.1 以上版本中可用)
''Dim sql As String = String.Format("Insert into barcodes Values (default, {0},'{1}','{2}','{3}','{4}','{5}','{6}'); Select currval ('barcodes_barcode_id_seq');",
Dim sql As String = String.Format("Insert into barcodes Values (default, {0},'{1}','{2}','{3}','{4}','{5}','{6}') Returning barcode_id",
我使用 ExecuteScaler 函数通过 ODBC 返回值。
新的barcode_id 可以正常返回。
继续我的交易。使用此条形码 ID 插入销售记录等。
提交事务。一切都已提交,但我的条形码表是空的。
将其从交易中取出,条形码表正在填充,但我需要它。
任何人都知道为什么它没有显示
【问题讨论】:
-
出于好奇,为什么是 ODBC 而不是 Npgsql?
标签: c# vb.net postgresql transactions odbc