2013-04-02 47 views
0

我不是很熟悉如何在C#中執行此操作。需要連接到Oracle數據庫,從目錄中獲取文件,然後讀取文件的每一行。線是這樣的:從oracleDB讀取文件並添加/刪除/修改數據

然後將拆分爲字符串,並根據此標誌| A |,| D |或| M |我會在裏面添加/刪除/修改信息。 我不想寫我整個代碼。只是一些想法和指導方針如何去做。 感謝

回答

2

第一read file:當記錄的目標已經存在

var lines = File.ReadLines(@"filename"); 
foreach (string line in lines) 
{ 
    // Then split each line 
    var str = line.Split('|'); // str contains list of splitted string 

    // then save it to db 
    using (var c = new OracleConnection("connectionString")) 
    { 
     c.Open(); 
    // check flag 
    if (str [2] == 'A') 
    { 
     // prepare your sql with splitted array 
     var command = c.CreateCommand(); 
     command.Text = "INSERT INTO table(column) values(:col1)"; 
     command.Parameters.AddWithValue("col1", str[0]) 
     command.ExecuteNonQuery(); 
    } 

    } 

} 
+0

謝謝,我該如何檢查參數/標誌是什麼? –

+0

已編輯,但此代碼可寫得更好。這隻會給你一個起點 – adt

0

一個MERGE可以幫助你......

MERGE INTO target_table T 
USING source_table S 
ON (D.id = S.id) 
WHEN MATCHED THEN UPDATE SET 
    T.field1 = S.field1, 
    T.field2 = S.field2 
    DELETE WHERE (S.flag='D') 
WHEN NOT MATCHED THEN INSERT (id, field1, filed2) 
    VALUES (S.id, S.filed1, S.filed2) 
    WHERE S.flag='A'; 

但這不會插入。

相關問題