我有以下功能:
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 调试器控制台上也不例外,并且也不会使用用户提供的新条目来更新数据库。当我检查 ExecuteNonQuery() 的返回值时,它返回-1。对我来说,代码似乎没问题,或者我可能遗漏了一些东西。请帮我识别它。
我还尝试通过删除所有 AddWithValue() 语句并将查询预定义为来执行查询
插入 [DisData].[dbo].discussions values('Test','TestDes','TestUID','12-12-2012','sdsd',1,1,1,'sdsd',2)
但是问题还是一样...