我正在使用由ASP.net web表單應用程序上的ObjectDataSource支持的GridView。 GridView從DataBase中獲取很多字段並顯示它們。我想要編輯這些字段中的單個字段,但我已經遇到了一些問題。爲ObjectDataSource我的更新命令如下:使用ObjectDataSource更新GridView中單個字段的數據?
public void UpdateRML(string itemCode, int newRML)
{
SqlCommand cmd = new SqlCommand("UpdateRML_byItemCode", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter ItemCodeParameter = new SqlParameter("@itemCode", SqlDbType.NVarChar);
ItemCodeParameter.Value = (itemCode);
cmd.Parameters.Add(ItemCodeParameter);
SqlParameter NewRMLParamter = new SqlParameter("@RML", SqlDbType.Int);
NewRMLParamter.Value = (newRML);
cmd.Parameters.Add(NewRMLParamter);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
正如你所看到的,它的工作原理是接受兩個參數並將它們傳遞給存儲過程在數據庫中做更新。不幸的是,當我按下GridView的「更新」按鈕時(點擊編輯後),我得到這個錯誤。
ObjectDataSource 'ObjectDataSource1' could not find a non-generic method
'UpdateRML' that has parameters: p, itemcode, newRML, itemname, RML, Buyer, Vendor,
AvgCost, FWAC, MSRP, SalePrice, Profit_Ave, Profit_MSRP, onHand, isCommited, onOrder, ATS,
AOH, Vintage, Producer, Country, Region, Appellation, CRU, Size, RtrakDept, str.
差不多它說,我需要包括GridView控件,這是我的猜測是不奇怪的各個領域,因爲我沒有讀這article on msdn它說,這樣的事情,但是這是令人沮喪的方法需要當我不使用任何項目代碼和新數據時,請使用所有這些參數。
那麼最好的方法是什麼呢?我是否比它應該更復雜?我應該只用這種方法簽名嗎?如果您需要更多信息,請與我們聯繫!謝謝。