我有以下功能:爲什麼ExecuteNonQuery()返回-1時沒有任何異常,也沒有在數據庫中插入條目?
public Exception createTopic(Topic t)
{
query = "insert into [DisData].[dbo].[discussions]([title],[description],[usrid],[dateadded],[desid],[likes],[shares],[visit],[replyto],[sno]) values(@title,@des,@uid,@dateadded,@did,@like,@share,@visit,@replyto,@sno)";
try
{
com = new SqlCommand(query, con);
com.Parameters.AddWithValue("@title", t.getTitle());
com.Parameters.AddWithValue("@des", t.getDescription());
com.Parameters.AddWithValue("@uid", t.getUsrID());
com.Parameters.AddWithValue("@dateadded", t.getDate());
com.Parameters.AddWithValue("@did", t.getDesID());
com.Parameters.AddWithValue("@like", 0);
com.Parameters.AddWithValue("@share", 0);
com.Parameters.AddWithValue("@visit", 0);
com.Parameters.AddWithValue("@replyto", t.getReplyToID());
com.Parameters.AddWithValue("@sno", getDisCount() + 1);
con.Open();
com.ExecuteNonQuery();
con.Close();
res.Redirect("viewthread.aspx?id=" + t.getDesID());
return null;
}
catch (Exception e)
{
con.Close(); return e;
}
}
連接字符串在含有類的構造限定。問題是,每當我嘗試執行此函數時,它都會執行而不會發出任何異常,即使不在Visual Studio Debugger Console上,也不會使用用戶提供的新條目更新數據庫。當我檢查ExecuteNonQuery()的返回值時,它返回-1。對我來說,代碼似乎沒問題,或者可能是我錯過了一些東西。請幫助我確定它。
我還試圖通過刪除所有AddWithValue()語句,使查詢預先定義爲
插入件插入 [DisData]來執行查詢。[DBO] .discussions 值( '測試' 'TestDes', 'TestUID', '12-12-2012', 'sdsd',1,1,1, 'sdsd',2)
但是問題依舊......
捕獲異常並將它們轉化爲函數的返回值似乎明顯奇怪。 –
返回值-1意味着發生了回滾。 [SqlCommand.ExecuteNonQuery](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery) – Schaliasos
您正在檢查哪個對象值? –