输入字符串格式不正确错误填充数据表

时间:2013-06-29 04:53:41

标签: vb.net visual-studio ado.net runtime-error npgsql

我有一个表,它都是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,而且都不是代理人的副本。

另一个问题是这只发生在该表中的某些记录上。

我猜我有一些腐败的桌子。我复制了表,但副本有同样的问题。由于它在PgAdmin中有效,但在我的代码中没有,它也可能与npgsql有关。

编辑:我被要求在问题区域周围添加代码,因为这看起来像是插入错误。我在这个函数中根本没有做任何Inserts。

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"

谢谢, 布拉德

1 个答案:

答案 0 :(得分:0)

您可以将该类型的col显式键入varchar() ...