SQL查询和下拉列表

时间:2015-01-10 07:31:12

标签: c# mysql sql asp.net html.dropdownlistfor

我有一个下拉列表,其中包含列表的值。

我在c#中有以下声明:

string raf = string.Format("select Id from Customer WHERE email="dropdownlist1");

如何将下拉列表的值分配给电子邮件?

2 个答案:

答案 0 :(得分:3)

您需要使用.SelectedValue属性来获取下拉列表的值: -

string raf = string.Format("select Id from Customer WHERE email={0}",
                                  dropdownlist1.SelectedValue);

用于获取下拉文本: -

string raf = string.Format("select Id from Customer WHERE email={0}",
                                    dropdownlist1.SelectedItem.Text);

此外,请注意,在使用{0}时,您需要使用String.Format这样的占位符。

虽然根据您的查询,您主要是访问数据库,因此请注意SQL Injection,使用参数化查询,如下所示: -

  string raf = select Id from Customer WHERE email=@DropdownText;
  SqlCommand cmd = new SqlCommand(raf,conn);
  cmd.Parameters.Add("@DropdownText",SqlDbType.NVarchar,20).Value =
                                      dropdownlist1.SelectedItem.Text;

答案 1 :(得分:1)

试试这个

string raf = string.Format("select Id from Customer 
WHERE email='{0}'",dropdownlist1.SelectedValue));

{0}表示您正在获取string.Format方法的第一个参数

谨防SQL Injection始终使用SQL Parameters