#c# #asp.net #sql-server #ado.net #drop-down-menu
#c# #asp.net #sql-сервер #ado.net #выпадающее меню
Вопрос:
Я новичок в C # и пытаюсь заполнить выпадающий список на основе значения базы данных. Я попытался подключиться к базе данных, как показано ниже — протестировано с помощью инструкции, и там написано connected. Могу ли я предположить, что это правильно? Я на правильном пути? Кроме того, как мне затем выбрать значение из таблицы и заполнить выпадающий список полем?
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection (
"Data Source=.\SQLEXPRESS;AttachDbFilename=C:customers.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
try
{
connection.Open();
TextBox1.Text = "connected";
}
catch (Exception)
{
TextBox1.Text = " not connected";
}
}
Комментарии:
1. теперь я понял это, извините, что потратил чье-либо время 🙂
2. Вы на правильном пути. Чтобы добавить элементы в поле со списком, просто
comboBox1.Items.Add(object)
3. @Ken: Можете ли вы нажать » Удалить » по этому вопросу, потому что вам не нужны ответы, поэтому он будет низкого качества без соответствующих ответов.
4. Поскольку вы жестко закодировали SQL в свой код, вы могли бы также использовать элемент управления SqlDataSource. msdn.microsoft.com/en-us/library/dz12d98w (v = VS.100).aspx
Ответ №1:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection (
"Data Source=.\SQLEXPRESS;AttachDbFilename=C:customers.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
try
{
SqlDataReader dReader;
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandType = CommandType.Text;
cmd.CommandText ="Select distinct [Name] from [Names]"
" order by [Name] asc";
connection.Open();
dReader = cmd.ExecuteReader();
if (dReader.HasRows == true)
{
while (dReader.Read())
//Names collection is a combo box.
namesCollection.Add(dReader["Name"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close()
TextBox1.Text = "connected";
}
catch (Exception)
{
TextBox1.Text = " not connected";
}
}
Hope that helps................
Ответ №2:
Это так просто :—-
SqlConnection con = new SqlConnection();
DataSet ds = new DataSet();
con.ConnectionString = @"Data Source=TOP7SQLEXPRESS;Initial Catalog=t1;Persist Security Info=True;User ID=Test;Password=t123";
string query = "Select * from tbl_User";
SqlCommand cmd = new SqlCommand(query, con);
cmd.CommandText = query;
con.Open();
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
adpt.Fill(ds);
comboBox1.Items.Clear();
comboBox1.DisplayMember = "UserName";
comboBox1.ValueMember = "UserId";
comboBox1.DataSource = ds.Tables[0];
------------------------------------------------------------------------
Ответ №3:
using (SqlConnection con = new SqlConnection("Data Source = NIPOON; Initial Catalog = CustomerOrders; Integrated Security = true"))
{
SqlCommand cmd = new SqlCommand("SELECT Name FROM Customer", con);
con.Open();
dropDownList.DataSource = cmd.ExecuteReader();
dropDownList.DataTextField = "Name";
dropDownList.DataValueField = "Name";
dropDownList.DataBind();
}