0
我嘗試使用命令行來更新網格視圖數據,但我得到的錯誤等:如何使用存儲過程更新網格視圖中的數據?
過程或函數「UpdateState」預計參數「@StateName」,但未提供。
存儲過程:
CREATE PROCEDURE UpdateState
@StateName varchar(30)
AS
update tblState
set StateName = @StateName
Aspx
頁:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
FillStates();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int Sid = Convert.ToInt16(GridView1.DataKeys[e.RowIndex].Value);
TextBox StateName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1");
p.Sid = Sid;
p.StateName = StateName.Text;
p.UpdateState(p);
GridView1.EditIndex = -1;
FillStates();
}
來源:
public void UpdateState(Property p)
{
cmd = new SqlCommand("UpdateState", con);
cmd.Parameters.AddWithValue("@Sid", p.Sid);
cmd.Parameters.AddWithValue("@StateName", p.StateName);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
您的命令應指定其類型: ** cmd.CommandType = System.Data.CommandType.StoredProcedure ** ...也請將正確數量的參數發送到存儲過程 – ymz 2015-03-24 23:55:10
您需要在那個存儲過程中使用WHERE子句過程,除非你想更新整個表。 – Crowcoder 2015-03-25 01:46:26