私は次の機能を持っています:
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 に挿入します。
しかし、問題は同じままです...