Итак, я пытаюсь создать своего рода обзорную утилиту для сайтов с различной информацией о каждом сайте.
Я хотел бы иметь выпадающий список / выпадающий список, читать sqldb и создавать элементы в соответствии св БД.Затем я хотел бы, чтобы различные текстовые поля заполнялись значением из столбца.
Скажем, моя таблица БД называется "AvSites" (пока только ради), у меня есть "projectNr", "siteName", столбцы "siteClients" и "siteLicenses" Я бы хотел, чтобы каждый из них где-то заполнял какое-то текстовое поле / метку.
Я пробовал следующее, что вроде работает, у меня код работал большую часть времени, но меня поражает то, что данные меняются с выбранным элементом комбинированного списка.
Я надеюсь, что вы можете помочь, и вот мой код (пока у меня есть окно входа в систему до этого "основного")программа запускается, просто чтобы вам не было интересно)
И я довольно новичок в C #, поэтому, если что-то сделано неэффективно, причина :) Я все еще учусь.
namespace AvOverview{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
//btn_LogOut Click Event
this.Hide();
Form1 fl = new Form1();
fl.Show();
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
private void FrmMain_Load(object sender, EventArgs e)
{
string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf";
SqlConnection con = new SqlConnection(cs);
con.Open();
string strCmd = "select * from AvSites";
SqlCommand cmd = new SqlCommand(strCmd, con);
SqlDataAdapter da = new SqlDataAdapter(strCmd, con);
DataSet ds = new DataSet();
da.Fill(ds);
combo1.ValueMember = "id";
combo1.DisplayMember = "siteName";
combo1.DataSource = ds.Tables[0];
combo1.Enabled = true;
this.combo1.SelectedIndex = -1;
cmd.ExecuteNonQuery();
con.Close();
}
private void Combo1_SelectedIndexChanged(object sender, EventArgs e)
{
string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf";
string strCmd = "select id from AvSites";
SqlConnection con = new SqlConnection(cs);
SqlCommand cmd = new SqlCommand(strCmd, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{//this last part is solely for testing if the text changed the way I wanted.
label1.Text = dr.GetValue(1).ToString();
label2.Text = dr.GetValue(2).ToString();
label3.Text = dr.GetValue(0).ToString();
label4.Text = dr.GetValue(3).ToString();