0

好的,所以我刚刚获得了这个旧的 vb.net(2008) 程序来进行一些更改,我发现了一些奇怪的东西。插入/更新查询正在执行ExecuteReader,它是这样的

Dim sqlcommand as new SqlCommand("Insert query", connection)
Dim sqldatareader as SqlDataReader = sqlcommand.ExecuteReader()

并且由于某种原因它可以正常工作,它会正确插入/更新数据。这有什么缺点吗?我应该费心通过程序并将所有内容更改为ExecuteNonQuery吗?

4

2 回答 2

2

仔细查看INSERT命令,如果它有一个 OUTPUT 子句,那么它实际上可以返回数据。

于 2020-11-12T08:04:57.213 回答
1

当您希望 SQL 命令返回一些输出时,通常使用执行阅读器。比如选择一行。但是如果你没有任何结果,而只是一个普通的 Insert 或 Update,那么 ExecuteNonQuery 就足够了

于 2018-02-01T06:55:18.580 回答