好的,所以我刚刚给这个旧的vb.net(2008)程序做了一些修改,我发现了一些奇怪的东西。正在使用ExecuteReader
执行插入/更新查询,它类似于此
Dim sqlcommand as new SqlCommand("Insert query", connection)
Dim sqldatareader as SqlDataReader = sqlcommand.ExecuteReader()
由于某种原因,它可以正常插入/更新数据。这有什么缺点吗?我是否应该费心完成该程序并将所有内容更改为ExecuteNonQuery
?
答案 0 :(得分:1)
当您希望SQL命令返回某些输出时,通常会使用Execute Reader。比如选一行。但是如果你没有任何结果,只是一个简单的插入或更新,那么ExecuteNonQuery就足够了
答案 1 :(得分:1)
仔细查看INSERT
命令,如果它具有OUTPUT子句,则它实际上可以返回数据。