我正在运行SP,它不返回任何行或数据,而不是那种效率更高的情况
executeScalar()
或executeNonQuery()
答案 0 :(得分:7)
如果您不想读取值,则应使用executeNonQuery。它与效率无关。你应该这样做,因为这是正确的方法。在这里使用executeScalar是错误的。
它可能也更快,但这不是重点。如果你发出这么多查询,这个小的性能细节会对你的查询产生影响。
答案 1 :(得分:1)
我不确定这两者是否重要,executeNonQuery会在其中完成较少的对象构建,但在大多数情况下差异可以忽略不计。
答案 2 :(得分:1)
Executescalar返回一个值,executeNonquery通常用于插入,更新等。在这种情况下,由于你没有返回任何值,你应该使用ExecuteNonQuery。
答案 3 :(得分:0)
ExecuteScalar在命令对象中返回单个值作为查询的结果,因此另一个值更好用。 ExecuteNonQuery不返回值(除了受查询影响的行)。