我正在执行非查询SQL。我想知道我们在Visual Studio 2013中的位置,以查看生成的SQL和错误代码。
string cmdText = "UPDATE RendezVous SET
nomClientEssai=@nomClientEssai,prenomClientEssai=@prenomClientEssai,
IsAvailable=@IsAvailable WHERE rdvId=@rdvId";
SqlCommand cmd = new SqlCommand(cmdText, con);
cmd.Parameters.AddWithValue("@nomClientEssai", Convert.ToString(Session["nom"]));
cmd.Parameters.AddWithValue("@prenomClientEssai", Convert.ToString(Session["prenom"]));
cmd.Parameters.AddWithValue("@IsAvailable", "False");
cmd.Parameters.AddWithValue("@rdvId", cleRdvId);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd.ExecuteNonQuery(); <=== I want to see the sql return code here !!!
con.Close();
这个SQL没有更新我的表,我想知道为什么,知道如何验证SQL语句以及SQL返回码。我没有生成任何错误,但没有任何更新。
答案 0 :(得分:2)
如果您想查看数据库的内容,请使用SQL事件探查器
答案 1 :(得分:1)
ExecuteNonQuery
returns the number of rows affected。
因此,请按照以下方式更新您的代码,并查看numberOfRecordsUpdated
语句UPDATE
中的内容。
int numberOfRecordsUpdated = comm.ExecuteNonQuery();
答案 2 :(得分:1)
要从数据库获取有关错误或简单输出的信息(sql server中严重性小于或等于10的任何内容),您可以订阅SqlConnection的事件。这是一个简单的例子:
con.InfoMessage += new SqlInfoMessageEventHandler((sender, a) => { Console.WriteLine(a.Message);});
答案 3 :(得分:0)
UPDATE
没有返回代码。如上所述,ExecuteNonQuery
会返回受影响的记录的号,但它不会告诉您为什么会影响这些记录数。
我会在调试器中运行它来验证正在使用cleRdvId
的正确值。