返回0而不是实际值

时间:2017-01-20 15:05:49

标签: vb.net sqlite oledb executescalar

我在SQLiteStudio 3.1.0中使用相同的SQL查询,并且使用与我传入的相同参数没有任何问题。当我使用相同的SQL并在我的VB项目中使用下面的代码时它返回0而不是右值。

{{1}}

我将对象列表传递给参数的方法。连接字符串有效,因为它使其他SQL查询工作。我有一组使用OleDb的相同代码,它的构建方式与此完全相同,并且它适用于同一个SQL语句。那么我是否缺少可以使行为与SQLite和OleDb连接以及executeScalar不同的东西,因为一个返回0而另一个返回正确的字符串?

1 个答案:

答案 0 :(得分:0)

最终导致数据库字段出错。它被认为是一个VarChar(200),但它是一个数字(200)。因此,如果您在返回错误数据时遇到问题,那么您应该查看表本身。我从SQLite学到的东西是它返回一个vbCr,所以你应该添加.ToString()。将(vbCr,String.Empty)替换为ExecuteScalar()。