我是C#asp.net网络表单的新手,搜索所有的步骤,但我没有答案。
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; //read from web.config.
SqlConnection con = new SqlConnection(constr);
DataTable dt = new DataTable();
con.Open();
SqlDataReader myReader = null;
SqlCommand cmd = new SqlCommand("select * from gender", con);
myReader = cmd.ExecuteReader();
while (myReader.Read())
{
ddlmarrital.DataSource = myReader; //assigning datasource to the dropdownlist
ddlmarrital.DataTextField = "field"; // text field name of table dispalyed in dropdown
ddlmarrital.DataValueField = "ID"; // to retrive specific textfield name
ddlmarrital.DataBind(); //binding dropdownlist
}
con.Close();
table1(性别)1.male 2.female。
Mastertable1(姓名" ABC")。(性别"男性)。(地址" ABC")
我想显示保存的值(Mastertable1.gender),如果我想更改值,我可以使用下拉列表进行选择。
答案 0 :(得分:0)
从ToolBox中删除Web表单上的SqlDataSource对象会更容易。将Dropdownlist设置为sqldatasource对象并配置sqldatasource。
如果必须在代码中执行此操作,请删除while循环。
...
myReader = cmd.ExecuteReader();
ddlmarrital.DataSource = myReader;
ddlmarrital.DataTextField = "field";
ddlmarrital.DataValueField = "ID";
ddlmarrital.DataBind();
con.Close();
答案 1 :(得分:0)
您可以尝试以下内容。我重构了一下你的代码,我对using
和SqlConnection
对象使用了SqlCommand
语句,因为它们都实现了IDisposable
接口。具体来说,他们使用非托管资源和这些资源,这些资源应该在您完成工作后尽快发布。这就是应该调用Dispose
方法的原因。一种方便的方法是使用using
语句,如下所示。
string connectionString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using(var connection = new SqlConnection(connectionString))
{
connection.Open();
var commandText = "SELECT * FROM gender";
using(var command = new SqlCommand(commandText,connection))
{
ddlmarrital.DataSource = command.ExecuteReader();
ddlmarrital.DataTextField = "field";
ddlmarrital.DataValueField = "ID";
ddlmarrital.DataBind();
}
}