我想将ASP.NET代码隐藏C#Dropdownlist选择值添加到SQL Server数据库。 我正在使用存储过程,在SQL Server中,它在我执行过程时有效。
我已将数据库连接(dal.class)文件添加到VS项目中。
我在dal.class中的代码是
public void SaveDelData(int pkg_no, int pkg_cat_id, String reference_no, String sender, String receiver_name, String receiver_address, int area_id, int city_id, int zone_id, String date, String telephone, bool isDelete)
{
try
{
SqlCommand cmdGetItem = new SqlCommand();
cmdGetItem.Connection = con;
cmdGetItem.CommandText = "SavedeliveryData";
cmdGetItem.CommandType = CommandType.StoredProcedure;
cmdGetItem.Parameters.AddWithValue("@pkg_no", pkg_no);
cmdGetItem.Parameters.AddWithValue("@pkg_cat_id", pkg_cat_id);
cmdGetItem.Parameters.AddWithValue("@sender", sender);
cmdGetItem.Parameters.AddWithValue("@receiver_name", receiver_name);
cmdGetItem.Parameters.AddWithValue("@receiver_address", receiver_address);
cmdGetItem.Parameters.AddWithValue("@area_id", area_id);
cmdGetItem.Parameters.AddWithValue("@city_id", city_id);
cmdGetItem.Parameters.AddWithValue("@zone_id", zone_id);
cmdGetItem.Parameters.AddWithValue("@date", date);
cmdGetItem.Parameters.AddWithValue("@telephone", telephone);
cmdGetItem.Parameters.AddWithValue("@isDelete", isDelete);
con.Open();
cmdGetItem.ExecuteNonQuery();
}
catch (Exception ex)
{
}
finally
{
con.Close();
}
}
我在设计页面上有4个下拉列表,从另一个表中获取特定数据的数据。
我的C#代码是
dataAccess data = new dataAccess();
int pkg_id;
if (packageid.Text == string.Empty || packageid.Text == "")
pkg_id = -1;
else
pkg_id = Int32.Parse(packageid.Text);
string sData1 = this.category.SelectedValue;
string sData2 = this.area.SelectedValue;
string sData3 = this.city.SelectedValue;
string sData4 = this.zone.SelectedValue;
// string cat = category.SelectedItem.Value.ToString();
// string areaa = area.SelectedItem.Value.ToString();
//string cityy = city.SelectedItem.Value.ToString();
// string zonee = zone.SelectedItem.Value.ToString();
data.SaveDelData(pkg_id, sData1, sender_name.Text, receivername.Text, receiver_address.Text, sData2,sData3,sData4, date.Text, telephone.Text, false);
我想将send dropdownlist选择项发送到数据库,但它在
中给出了错误data.SaveDelData(pkg_id, sData1, sender_name.Text, receivername.Text, receiver_address.Text, sData2,sData3,sData4, date.Text, telephone.Text, false);
as
方法'SaveDelData'没有重载需要11个参数
我该如何解决这个问题?
提前致谢:)
答案 0 :(得分:1)
将您的调用更改为“SaveDelData”方法并为其提供12个参数。你只过了11!我想你错过了pkg_cat_id?
答案 1 :(得分:1)
public void SaveDelData(int pkg_no, int pkg_cat_id, String reference_no, String sender, String receiver_name, String receiver_address, int area_id, int city_id, int zone_id, String date, String telephone, bool isDelete)
{
}
显然你可以在上面的函数中计算12个参数
所以你错过了一个,我想它的pkg_cat_id
data.SaveDelData(pkg_id,(integer type parameter here 'pkg_cat_id'), sData1, sender_name.Text, receivername.Text, receiver_address.Text, sData2,sData3,sData4, date.Text, telephone.Text, false);
答案 2 :(得分:0)
根据以下功能定义,您需要在拨打电话时传递12个参数。
public void SaveDelData(int pkg_no, int pkg_cat_id, String reference_no, String sender, String receiver_name, String receiver_address, int area_id, int city_id, int zone_id, String date, String telephone, bool isDelete)
在以下调用中,您只传递了11个参数。
data.SaveDelData(pkg_id, sData1, sender_name.Text, receivername.Text, receiver_address.Text, sData2,sData3,sData4, date.Text, telephone.Text, false);
在上面的呼叫中,第一个参数是包ID,第二个是选择的类别,第三个是发送者的名称。但是根据函数定义,第三个参数应该是字符串引用ID。所以我认为你错过了传递参考ID。将它添加到参数列表中,它可以正常工作。
此致
Nitin Joshi