如何检查执行非查询上受影响的行数
本文关键字:影响 查询 何检查 检查 执行 | 更新日期: 2023-09-27 18:33:36
我目前正在处理一个 C# 项目,正在运行插入查询
while (reader.Read())
{
SqlCommand GDR_EnumVoiePublique = new SqlCommand("INSERT INTO GDR_EnumVoiePublique(VP_Id,VP_Nom,OVP_Id,LVP_Id,GVP_Id,Mun_Id,VP_Description)VALUES(@VP_Id,@VP_Nom,@OVP_Id,@LVP_Id,@GVP_Id,@Mun_Id,@VP_Description)", connection);
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Id", Guid.NewGuid());
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Nom", VP_Nom);
GDR_EnumVoiePublique.Parameters.AddWithValue("@OVP_Id", OVP_Id == null ? (object)DBNull.Value : OVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@LVP_Id", LVP_Id == null ? (object)DBNull.Value : LVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@GVP_Id", GVP_Id == null ? (object)DBNull.Value : GVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@Mun_Id", Mun_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Description", VP_Description);
GDR_EnumVoiePublique.ExecuteNonQuery();
//count = (Int32)GDR_EnumVoiePublique.Executescalar();
//countResult = GDR_EnumVoiePublique.ExecuteScalar();
}
有没有办法查看在此查询期间插入了多少行?
好吧,您可以使用一个简单的计数器。
int counter = 0;
while(reader.Read())
{
...
...
if(GDR_EnumVoiePublique.ExecuteNonQuery() > 0)
{
counter++;
}
}
对于INSERT
语句,ExecuteNonQuery
方法返回 inserterd 的行数。这意味着; GDR_EnumVoiePublique.ExecuteNonQuery() > 0
行执行您的 INSERT 查询,如果成功,则返回 1
,如果不是,则返回 0
。
ExecuteNonQuery()
返回SET NOCOUNT OFF
时插入的行数。
Int affectedRows;
while (reader.Read())
{
SqlCommand GDR_EnumVoiePublique = new SqlCommand("INSERT INTO GDR_EnumVoiePublique(VP_Id,VP_Nom,OVP_Id,LVP_Id,GVP_Id,Mun_Id,VP_Description)VALUES(@VP_Id,@VP_Nom,@OVP_Id,@LVP_Id,@GVP_Id,@Mun_Id,@VP_Description)", connection);
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Id", Guid.NewGuid());
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Nom", VP_Nom);
GDR_EnumVoiePublique.Parameters.AddWithValue("@OVP_Id", OVP_Id == null ? (object)DBNull.Value : OVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@LVP_Id", LVP_Id == null ? (object)DBNull.Value : LVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@GVP_Id", GVP_Id == null ? (object)DBNull.Value : GVP_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@Mun_Id", Mun_Id);
GDR_EnumVoiePublique.Parameters.AddWithValue("@VP_Description", VP_Description);
affectedRows += GDR_EnumVoiePublique.ExecuteNonQuery();
}