我有6个具有以下值的DropDownList;
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)
改变你的
college.Value = ddl5.SelectedItem.Value;
到
college.Value = str;
如果你有一个永远不会使用的对象的foreach循环,那将是非常令人惊讶的......
评论后编辑;
创建一个包含2个字符串属性的类 StringSome =您的字符串,stringDrop =下拉选择值
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和string2到ddl2等......
例如
AllOptions.Add(new MyClass(yourcontrol1.Text, ddl1.SelectedValue.Value));
将foreach循环保留在AllOptions上
更改
college.Value = str;
到
college.value = str.StringDrop;
将str.StringSome用于其他参数
答案 1 :(得分:0)
如果list1
是该列表,请在您的下拉列表中进行迭代:
foreach (string str in list1)
{
....
college.Value = str;
....
}
然而,通过这样做,dropdown listbox
中的值没有意义(因此选择失去了它的使用点),你可以简单地将它们存储在一个简单的List <string>
答案 2 :(得分: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
}