0

我有一张所有 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"

谢谢,布拉德

4

1 回答 1

0

您可以键入 cast that col 以varchar()显式...

于 2020-03-30T12:57:52.810 回答