2013-11-26 2 views
1

Я хочу добавить выпадающее список C#, выделенное для кода ASP.NET, для базы данных SQL Server. Я использую хранимую процедуру, и в SQL Server он работает, когда я выполняю процедуру.ASP.NET | C# | Выпадающий список SelectedItem для базы данных?

Я добавил файл подключения базы данных (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 DropDownLists на странице проекта, которые получают данные из другой таблицы для конкретной информации.

мой 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); 

Я хочу отправить отправить DROPDOWNLIST выбранный элемент в базу данных, но он дает ошибку в

data.SaveDelData(pkg_id, sData1, sender_name.Text, receivername.Text, receiver_address.Text, sData2,sData3,sData4, date.Text, telephone.Text, false); 

как

Нет перегрузки для метода «SaveDelData» принимает 11 аргументов

Как это исправить?

Заранее спасибо :)

+0

ли не любой из ответов помочь? – tariq

+0

получил это, теперь проблема заключается в получении выбранных значений в базе данных: D –

+0

изменить вопрос и объяснить еще раз подробно, в чем проблема, где он наступает – tariq

ответ

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); 
+0

получил это работает спасибо :) –

1

Изменить вызов метода «SaveDelData» и дать ему 12 аргументов. Вы проходите мимо 11! Я думаю, вам не хватает pkg_cat_id?

+0

Привет, спасибо за ответ geedubb, Можете ли вы подробнее объяснить ответ ? , где я должен его изменить? –

+0

Проверьте свои данные. Вызовите вызовSaveDelData.У него только 11 аргументов – geedubb

+0

думаю, что вам не хватает pkg_cat_id – geedubb

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); 

В первом вызове первый параметр - это идентификатор пакета, второй - выбранная категория, а третья - имя отправителя. Но по определению функции третьим параметром должен быть идентификатор строки. Поэтому я думаю, что вы пропустили этот идентификатор ссылки. Добавьте его в список параметров, и он отлично работает.

С уважением,

Нитин Джоши

+0

Получил это спасибо за работу :) –

+0

Вы всегда рады :) –

Смежные вопросы