使用c#中两个列表框中的值来填充SQL表
本文关键字:SQL 填充 两个 使用 列表 | 更新日期: 2023-09-27 18:23:40
我有两个列表框,listbox1(客户id)和listbox2客户电子邮件,我需要将这些项目链接在一起,以便根据ID匹配将电子邮件添加到SQL表中。
因此,列表1中的第1行链接到列表框2中的第1列,依此类推,
我不知道如何为此编写代码,我想我可能需要某种数组,但我是新手,所以我不确定。
任何帮助都将是了不起的
干杯
您可以使用列表框的选定索引将第一个列表框中的id与第二个列表框的id进行匹配
这可能是以下格式
ListBox1.SelectedIndex与ListBox2.SelectedIndex 匹配
现在您可以选择将代码存储在数据库中。
如果我做对了,你可能想在迭代中从每个列表框中获得值,比如:
private void InsertEntries()
{
int itemsCount = listBox1.Items.Count > listBox1.Items.Count ?
listBox1.Items.Count :
listBox2.Items.Count;
for (int i = 0; i < itemsCount; i++)
{
string id = listBox1.Items[i].ToString();
string email = listBox2.Items[i].ToString();
//Do your work here
}
}
不过,我相信你不需要两个列表框就能实现这一点。
仅根据您发布的内容,没有代码等,我也没有更好的工作要做,我写了一些代码。让我们假设实体框架用于您的数据访问,并且您正在从潜在电子邮件地址列表中进行选择以更新所选客户的电子邮件地址。或者您正在从两个列表中进行选择以创建新客户。
我还想补充一点,2列表框的想法听起来很奇怪,可能需要重新思考,但没有澄清的是,这里有一些代码,其中包括一个更新方法和一个添加客户的方法。还有一个用于传递给这些方法的客户类。
void Main()
{
var customer = new Customer
{
CustomerId = Listbox1.SelectedValue,
EmailAddress = Listbox2.SelectedValue
};
UpdateEmailAddress(customer);
//OR
AddCustomer(customer);
}
public void AddCustomer(Customer customer)
{
using (var db = new DatabaseEntities())
{
db.Customers.Add(customer);
db.SaveChanges();
}
}
public void UpdateEmailAddress(Customer customer)
{
using (var db = new DatabaseEntities())
{
var selectedCustomer = db.Customers.Where(x=>x.CustomerId==customer.CustomerId).Select(x=x);
selectedCustomer.EmailAddress = customer.EmailAddress;
db.SaveChanges();
}
}
public class Customer
{
public int CustomerId {get;set;}
public string EmailAddress {get;set;}
}