我的sql数据库中有一个名为“WEB_SEL_SECURITY_QUESTIONS”的存储过程,它返回一个表,如下所示。
SEQURITY_QUESTIONS_KEY,KEYCODE,QUESTION
我需要填写一个html选择框,其中包含我执行上述程序时得到的问题列表。
这就是我试过的
String s = ConfigurationManager.ConnectionStrings["ConnectionString2"].ToString();
SqlConnection con = new SqlConnection(s);
con.Open();
SqlDataAdapter myAdepter = new SqlDataAdapter("WEB_SEL_SECURITY_QUESTIONS", con);
myAdepter.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
myAdepter.Fill(ds, "WEB_SEL_SECURITY_QUESTIONS");
String questions = ds.Tables["WEB_SEL_SECURITY_QUESTIONS"].Rows[]["QUESTION"].ToString();
securityQuestion1.DataSource = questions;
securityQuestion1.DataBind();
但是这只用一条记录填充选择框,它生成列表项,每个列表项只有一个字符,只有第一条记录。
答案 0 :(得分:1)
你可以尝试:
securityQuestion1.DataSource = ds.Tables["WEB_SEL_SECURITY_QUESTIONS"];
securityQuestion1.DataTextField = "QUESTION";
securityQuestion1.DataValueField = "KEYCODE"; // Or whatever the value field needs to be.
securityQuestion1.DataBind();
您的第一次尝试是从一个问题中获取该单个值并将其用作整个数据源。因此,您需要的目标是使整个安全问题表成为数据源,然后给出关于用于值和显示的列(DataTextField,DataValueField)的提示。