c#数据库更新/插入tableapter

本文关键字:插入 tableapter 更新 数据库 | 更新日期: 2023-09-27 17:50:12

我有一个关于在c#中插入和更新数据库的"小"问题。我使用表适配器进行插入和更新。该信息来自包含客户信息的XML文件。我的主键是customer_nr,它由XML文件提供。

现在我的问题是加载XML文件时,不知何故我想检查数据库是否已经具有特定的customer_nr。如果customer_nr存在,则更新数据库(如果客户更改了地址,则应该更新),否则,如果customer_nr不存在,则插入新行(包含客户信息)。

我的测试代码:

(adapter.getCustomerNr是表适配器中的SQL命令,我选择所有customer_numbers .)

DataSet1TableAdapters.customer_infoTableAdapter adapter = new DataSet1TableAdapters.customer_infoTableAdapter();
foreach (var t in customerInfo)
{
    if (adapter.CustomerNr() != null)
    {
        adapter.Update(t.firstName,t.lastName,t.customerNr);
    }
    else {
        adapter.Insert(t.customerNr, t.firstName, t.lastName); 
    }
}

由于我是c#的新手,我很好奇这是否有效。但我认为这是可行的。如果有人能帮助我或给我一些例子如何进一步下去,我将非常感激。

c#数据库更新/插入tableapter

在update命令中,让它使用一个存储过程,在插入记录之前进行检查:

IF NOT EXISTS(SELECT customer_nr FROM Customers where customer_nr = @customer_nr)
    BEGIN
        ...(your query)
    END