我是编程新手,我的问题是我试图在列表框中显示多个项目,而这些项目来自本地数据库。我在本地数据库中有一个表用户,其中包含列 ID、名字、姓氏、电子邮件和地址。
我已经将 listBox 与我的本地 dababase 表“Users”绑定了,这就是我目前得到的:
private void button_ShowItems_Click(object sender, EventArgs e)
{
var dt = new DataTable();
string connectionString = @"Data Source=MyDatabase;Password=xxxxxx;";
using (var cn = new SqlCeConnection(connectionString))
using (var cmd = new SqlCeCommand("Select * From Users", cn))
{
cn.Open();
using (var reader = cmd.ExecuteReader())
{
dt.Load(reader);
listBox_Users.DataSource = dt;
listBox_users.DisplayMember = "Firstname" + "Lastname";
listBox_Users.ValueMember = "ID";
}
}
}
当我按下按钮时,它只显示“名字”而不是“姓氏”。
我得到了一个带有文本框的表单,可以将数据输入到本地数据库“用户”中,并且可以正常工作:
private void button_add_Click(object sender, EventArgs e)
{
var insertSQL = "INSERT INTO Inimesed (Firstname, Lastname, Email, Address) VALUES (Firstname, Lastname, Email, Address)";
string connectionString = @"Data Source=myDatabase;Password=xxxxxx;";
using (var cn = new SqlCeConnection(connectionString))
using (var cmd = new SqlCeCommand(insertSQL, cn))
{
cn.Open();
cmd.Parameters.Add("@Firstname", SqlDbType.NVarChar);
cmd.Parameters.Add("@Lastname", SqlDbType.NVarChar);
cmd.Parameters.Add("@Email", SqlDbType.NVarChar);
cmd.Parameters.Add("@Address", SqlDbType.NVarChar);
cmd.Parameters["Firstname"].Value = textBox1_Firstname.Text;
cmd.Parameters["Lastname"].Value = textBox2_Lastname.Text;
cmd.Parameters["Email"].Value = textBox3_Email.Text;
cmd.Parameters["Address"].Value = textBox4_Address.Text;
cmd.ExecuteNonQuery();
}
}
如果有人知道,我还有一个后续问题:我需要做什么才能使用“名字”+“姓氏”将选定的列表框值添加回文本框中?
有大量关于“如何在 C# 中将文本框项目添加到本地数据库”的教程,但没有“如何将本地数据库项目添加到文本框”的教程。我得到了所有定义的值。我应该在“foreach”命令中使用“foreach”命令、“if”命令还是“if”命令?
任何帮助都会很棒!