2011-04-13 85 views
0

我有一個關於在C#中插入和更新數據庫的「小」問題。我正在使用表格適配器來插入和更新。信息來自包含客戶信息的XML文件。我的主鍵是customer_nr,它由XML文件提供。c#數據庫更新/插入表適配器

現在我的問題是加載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#我很好奇,如果這甚至可以工作。但它的東西,我認爲應該工作。如果有人能夠幫助我,或者舉例說明如何繼續下去,我將非常感激。

回答

1

在你更新命令,使其使用一個存儲過程,將在插入記錄前檢查:

IF NOT EXISTS(SELECT customer_nr FROM Customers where customer_nr = @customer_nr) 
    BEGIN 

     ...(your query) 

    END 
相關問題