2014-02-05 61 views
0

我有6 DropDownList具有以下值;從DropDown插入多行到SQL

ABC,DEF,GHI,JKL,MNO,PQR 

我想從每個下拉列表,取值爲從DDL1,DDL2,DDL3,ddl4,ddl5和ddl6值插入到我的SQL表。

我目前得到了以下但需要適應它從每個個體下拉列表,而不是相同的值插入值:

SqlConnection sqlCon = new SqlConnection("Data Source=***; User ID=***; MultipleActiveResultSets=True; Password=***; Initial Catalog=PMRDA;"); 

try 
{ 
    sqlCon.Open(); 

    foreach (string str in AllOptions) 
    { 
     SqlCommand cmd = new SqlCommand("INSERT INTO lboard(eventType, date, college) values (@eventType, GETDATE(), @college)", sqlCon); 

     SqlParameter eventType = cmd.Parameters.Add("@eventType", SqlDbType.VarChar); 
     SqlParameter college = cmd.Parameters.Add("@college", SqlDbType.Char); 

     eventType.Value = ddlEventType.SelectedItem.Value; 
     college.Value = ddl5.SelectedItem.Value; 

     cmd.ExecuteNonQuery(); 
    } 

    LabelStatus.Text = "Submitted Succesfully"; 
} 
catch(Exception ex) 
{ 
    LabelStatus.Text = ex.Message; 
} 
finally 
{ 
    sqlCon.Close(); 
} 
+0

按下拉列表你的意思是一個組合框的權利? –

回答

2
在你的foreach循環

你有一個allOptions字符串列表 (我「會認爲這是從DDL的所有selectedValues)

列表更改

college.Value = ddl5.SelectedItem.Value; 

college.Value = str; 

否則這將是相當驚人的,你有你從來沒有使用對象foreach循環...評論後

編輯;

創建包含2個屬性的類 StringSome =你的字符串有,stringDrop =下拉的SelectedValue

public class MyClass 
{ 
public string StringSome{get;set;} 
public stirng StringDrop{get;set;} 
public MyClass() 
{//default constructor} 
public MyClass(string a, string b) 
{ 
    StringSome = a; 
    StringDrop = b;} 
} 

變化

Alloptions = new List<string>(); 

Alloptions = new List<MyClass>(); 

填寫您的根據數據

我假設你想STRING1至DDL1 1和字符串到DDL2等等

例如

AllOptions.Add(new MyClass(yourcontrol1.Text, ddl1.SelectedValue.Value)); 

繼續AllOptions

變化foreach循環

college.Value = str; 

college.value = str.StringDrop; 

使用str.StringSome您的其他參數

+0

謝謝@Schuere - 你是正確的STR包含選定的值,我怎樣才能同時輸入另一個選定值的字符串數組? – dawsonz

+0

編輯所以新的情況可能可用:-) – Schuere

+0

非常好,謝謝。 – dawsonz

0

迭代通過你的下拉列表中,如果list1是列表:

foreach (string str in list1) 
{  
.... 
college.Value = str; 
.... 
} 

但是通過這樣它具有在dropdown listbox值沒有意義(因此選擇會丟失它的使用點),您可以簡單地將它們存儲在一個簡單的List <string>

0

只需爲每個組合框添加一個for語句即可。

string text_to_add; 
for (int i=0; i< comboBox.Items.Count; i++) 
{ 
    text_to_add=comboBox.Items[i].ToString(); 
    //Perform the db insert using the text_to_add string 
}