我想使用ObjectDatasource從文本框中插入數據。 ObjectDataSource綁定到一個gridview,但只顯示某些計算列。文本框用於輸入所有基本輸入。 ObjectDatasource刪除&選擇命令(GridView上的鏈接按鈕)正在工作。不過,我在插入命令時遇到了問題。我無法弄清楚如何將文本框中的數據作爲參數傳遞給ObjectDataSource插入ObjectDatasource傳遞參數
編輯:使用下面的代碼,正在插入一條記錄。參數正在通過。 odssMain.Insert()給出錯誤:「未將對象引用設置爲對象的實例」。 編輯:爲什麼我得到這個錯誤?
此外,ObjectDataSource一直很奇怪。發生錯誤後,我必須在ODS嚮導中再次重新配置插入方法,因爲該方法將爲空。
ASP.NET 3.5 & SQL 2008,VS 2008
這裏是我的代碼:
<asp:ObjectDataSource ID="odsMain" runat="server"
SelectMethod="SelectMain" DeleteMethod="DeleteMain"
InsertMethod="InsertMain" UpdateMethod="UpdateMain"
OldValuesParameterFormatString="original_{0}" TypeName="MainDB" >
.......
<InsertParameters>
<asp:Parameter Name="Quantity" Type="Int32" />
</InsertParameters>
DAL FILE:
[DataObjectMethod(DataObjectMethodType.Insert)]
public static int InsertMain(int Quantity)/
{
SqlConnection con = new SqlConnection(GetConnectionString());
string strQuery = "INSERT INTO t_Main (Quantity) VALUES (@Quantity)";
SqlCommand cmd = new SqlCommand(strQuery, con);
cmd.Parameters.AddWithValue("@Quantity", Quantity);
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
return i;
}
CODE BEHIND FILE:
protected void btnSaveAnalysis_Click(object sender, EventArgs e)
{
odsMain.InsertParameters.Clear();
//Store parameters with values to the collection
odsMain.InsertParameters.Add(new Parameter ("Quantity", TypeCode.Int32, iQuantity.ToString()));
//Diferent ways that I tried. Still not working
//odsMain.InsertParameters.Add("Quantity", iQuantity.ToString());
//odsMain.InsertParameters["Quantity"].DefaultValue = iQuantity.ToString();
odsMain.Insert();
}
是的,我沒有看到類似這樣的例子。 – user450143
但是,Customer.InsertParameters [「FirstName」]。DefaultValue = strFirstName行給我一個運行時錯誤。 – user450143