我有一张所有 VarChar() 字段的表。
我用以下 SQL 填充数据集(使用 vb.net):
Select * From archive_naerns90_2006_q3.NAERNS90_Calls Where siteid = 'NAERNS90-02-627303'
我收到此错误:
Input string was not in a correct format.Couldn't store <02-627303> in agencyid Column. Expected type is Double.
当我从 PgAdmin 运行此查询时,它工作正常。我在几十个其他表上运行同样的代码,没有任何问题。
错误中引用的值 02-627303 是该记录的 Agencyid 列中的值,但表中没有 Double 字段。完全披露 - 有两个,但我将它们从 Double 更改为 VarChar,并且机构 ID 列也没有。
另一个问题是这只发生在该表中的某些记录上。
我猜我有一些损坏的表。我复制了表格,但副本有同样的问题。而且由于它在 PgAdmin 中有效,但不适用于我的代码,它也可能与 npgsql 有关。
编辑:我被要求在问题区域周围添加代码,因为这看起来像一个插入错误。我在这个函数中根本没有做任何插入。
SQL = "Select * From " & MlocRow("currentdb") & "." & SubTablesArr(Y) & " Where siteid = '" & DataRow("siteid") & "'"
Adapter.SelectCommand = New NpgsqlCommand(SQL, MLConnect)
Adapter.Fill(subDT)
我的 ConnectionString 是:
"HOST=192.168.0.133;DATABASE=masterlists;USER ID=myuser;PASSWORD=mypassword"
谢谢,布拉德