INSERT INTO非查询的“条件表达式中的数据类型不匹配”

时间:2019-02-12 10:55:29

标签: sql vb.net

我正在尝试将值插入数据库,但是在代码的这一部分遇到了上述错误:

select * from mytable;

[User ID]和[T​​otal Score]是数字,[User Name]是数据库中的短文本,NumberOfUsers是整数。我不确定自己在做什么错。

1 个答案:

答案 0 :(得分:1)

我注意到了几件事:

  • @Tid周围的SQL字符串中还有一组额外的单引号。
  • OleDb通常不支持命名参数(少数提供程序有例外,但通常您需要使用?作为占位符)
  • 我们看不到您在哪里打开连接。
  • 最好避免AddWithValue()的{​​{1}}重载,该重载特定于数据库类型和长度。这有助于提高性能并避免由于错误的数据库类型转换而导致的问题
  • 对于大多数仅在最短时间内打开的查询(通常通过Using块控制)使用单独的新连接对象。使用OleDb,这有助于限制表的争用/阻止,并有助于减少数据库损坏。

此代码包括这些修复程序:

Add()