我使用adapter.InsertCommand一些数据插入到表中。
唯一的问题是,它的执行两次,从而使我在DB双项。 我试过下面的文档中的例子adapter.InsertCommand
和我自己的代码,但得到了同样的结果。
这是我的代码:
public class nokernokDAL
{
SqlConnection connection = new SqlConnection();
SqlDataAdapter adapter = new SqlDataAdapter();
public nokernokDAL()
{
connection.ConnectionString = EPiServer.Global.EPConfig["EPsConnection"].ToString();
connection.Open();
}
public void addNewComment(int userID, int pageID, string title, string comment)
{
string query = "INSERT INTO dbo.nokernok_kommentarer (userID, pageID, commentTitle, comment) " +
"VALUES ("+ userID +", "+ pageID +", '"+ title +"', '"+ comment +"')";
adapter.InsertCommand = new SqlCommand(query, connection);
adapter.InsertCommand.ExecuteNonQuery();
}
}
在我怎样才能避免这种安妮建议?
UPDATE
右,一些调试后,我发现我的newWallComplaint_Click
功能被解雇了两次。 这是becuae我有下面的代码:
protected void Page_Load(object sender, EventArgs e)
{
btnNewWallComplaint.Click += new EventHandler(this.newWallComplaint_Click);
}
不检查回传,这个执行我的功能也提交后。 因此,为了避免两次我的功能来看,我添加了回发的支票。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnNewWallComplaint.Click += new EventHandler(this.newWallComplaint_Click);
}
}
现在我的查询不运行两次。