C# Windows应用程序-使用dropdownlist填充文本框/日期时间选择器
大家好 我想使用连接到数据库的dropdownlist在我的windows应用程序中填充文本框等。我一直在谷歌上搜索,结果都是ASP.NET的结果,这让我很困惑。如果有人能帮我找到正确的方向,我将不胜感激。我对编程还是新手,所以我的代码可能看起来很凌乱,甚至对你们中的一些人来说可能没有意义。但到目前为止它仍然有效:PC# Windows应用程序-使用dropdownlist填充文本框/日期时间选择器,c#,database,windows,drop-down-menu,C#,Database,Windows,Drop Down Menu,大家好 我想使用连接到数据库的dropdownlist在我的windows应用程序中填充文本框等。我一直在谷歌上搜索,结果都是ASP.NET的结果,这让我很困惑。如果有人能帮我找到正确的方向,我将不胜感激。我对编程还是新手,所以我的代码可能看起来很凌乱,甚至对你们中的一些人来说可能没有意义。但到目前为止它仍然有效:P using System; using System.Collections.Generic; using System.ComponentModel; using System.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace ExamenIliasBelHaj
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//Database connectie
SqlConnection Tickets = new SqlConnection("Data Source=MOCHINO\\EINDEXAMEN;Initial Catalog=Ticket;Integrated Security=True");
//Variabelen voor combobox
SqlCommand command;
SqlDataAdapter adapter;
DataTable table;
private void Form1_Load(object sender, EventArgs e)
{
//Dropdownlist
string query = "SELECT Email, MelderID FROM Melder";
fillCombo(zoekincidentCb, query, "MelderID", "Email");
}
private void opslaanBtn_Click(object sender, EventArgs e)
{
//Dit is voor Table Probleem
SqlCommand a = new SqlCommand("Insert INTO Probleem(MeldingTitel, Probleem, Handeling, Opgelost, BoekA, BoekB, BoekC, BoekD, Opdrachten, Melddatum, Einddatum) Values (@MeldingTitel, @Probleem, @Handeling, @Opgelost, @BoekA, @BoekB, @BoekC, @BoekD, @Opdrachten, @Melddatum, @Einddatum)", Tickets);
// a.Parameters.AddWithValue("@ProbleemID", idTxt.Text);
a.Parameters.AddWithValue("@MeldingTitel", meldingtitelTxt.Text);
a.Parameters.AddWithValue("@Probleem", probleemTxt.Text);
a.Parameters.AddWithValue("@Handeling", handelingTxt.Text);
a.Parameters.AddWithValue("@Opgelost", opgelostCb.SelectedItem);
a.Parameters.AddWithValue("@BoekA", boekaCb.Checked);
a.Parameters.AddWithValue("@BoekB", boekbCb.Checked);
a.Parameters.AddWithValue("@BoekC", boekcCb.Checked);
a.Parameters.AddWithValue("@BoekD", boekdCb.Checked);
a.Parameters.AddWithValue("@Opdrachten", opdrachtenTxt.Text);
a.Parameters.AddWithValue("@Melddatum", dtpStart.Value);
a.Parameters.AddWithValue("@Einddatum", dtpEind.Value);
//Dit is voor Table Melder
SqlCommand b = new SqlCommand("Insert INTO Melder(Email, voornaam, achternaam) Values (@Email, @voornaam, @achternaam)", Tickets);
b.Parameters.AddWithValue("@Email", emailTxt.Text);
b.Parameters.AddWithValue("@voornaam", vnaamTxt.Text);
b.Parameters.AddWithValue("@achternaam", anaamTxt.Text);
Tickets.Open();
a.ExecuteNonQuery();
b.ExecuteNonQuery();
Tickets.Close();
emailTxt.Text = "";
vnaamTxt.Text = "";
anaamTxt.Text = "";
meldingtitelTxt.Text = "";
probleemTxt.Text = "";
handelingTxt.Text = "";
opdrachtenTxt.Text = "";
boekaCb.Checked = false;
boekbCb.Checked = false;
boekcCb.Checked = false;
boekdCb.Checked = false;
opgelostCb.Items.Clear();
}
在我的fillCombo中,我有以下内容
public void fillCombo(ComboBox combo, string query, string displayMember, string valueMember)
{
command = new SqlCommand(query, Tickets);
adapter = new SqlDataAdapter(command);
table = new DataTable();
adapter.Fill(table);
combo.DataSource = table;
combo.DisplayMember = "ProbleemID";
combo.ValueMember = valueMember;
}
这是我根据答案得出的
private void zoekachternaamCb_SelectedIndexChanged(object sender, EventArgs e)
{
SqlCommand c = new SqlCommand("Select * from Melder, Probleem")
vnaamTxt.Text = "voornaam";
}
你必须在上面写下你的查询
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string query = "SELECT Name, DateofBirth FROM TableName Where ID ="+comboBox1.Text;
SqlConnection sqlConn = new SqlConnection(conSTR);
sqlConn.Open();
SqlCommand cmd = new SqlCommand(query, sqlConn);
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
textBox1.Text = dt.Rows[0]["Name"].ToString();
datePicker1.Text = dt.Rows[0]["DateOfBirth"].ToString();
}
你必须在上面写下你的查询
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string query = "SELECT Name, DateofBirth FROM TableName Where ID ="+comboBox1.Text;
SqlConnection sqlConn = new SqlConnection(conSTR);
sqlConn.Open();
SqlCommand cmd = new SqlCommand(query, sqlConn);
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
textBox1.Text = dt.Rows[0]["Name"].ToString();
datePicker1.Text = dt.Rows[0]["DateOfBirth"].ToString();
}
您在尝试这样做时遇到的实际问题是什么?我没有一个明确的问题。请详细说明您需要什么,您是否希望在Dropdownlist事件上填充文本框?我很抱歉。基本上,我的问题是,当我点击dropdownlist中的某个项目时,如何用存储在数据库中的数据填充文本框。那么,
fillCombo
中有什么内容呢?编辑了我关于fillCombo的帖子,老实说,我不知道为什么它会出现在上面。我的编程老师强迫我使用这个。你在尝试这样做时遇到的实际问题是什么?我没有一个明确的问题。请详细说明您需要什么,您是否希望在Dropdownlist事件上填充文本框?我很抱歉。基本上,我的问题是,当我点击dropdownlist中的某个项目时,如何用存储在数据库中的数据填充文本框。那么,fillCombo
中有什么内容呢?编辑了我关于fillCombo的帖子,老实说,我不知道为什么它会出现在上面。我的编程老师强迫我使用这个。是的!这对我起了作用,终于取得了一些进展。谢谢你没有放弃我!对这对我起了作用,终于取得了一些进展。谢谢你没有放弃我!