2014-02-19 69 views
0

所以我想要做的是非常不同我試圖在這種格式的文本文件中插入一組零件號碼。C#批量從文本文件插入SQL與多個行

NTM-120 
NTM-130 
NTM-140 
NTM-150 
NTM-160 
NTM-170 
NTM-180 
NTM-190 
NTM-200 
NTM-210 

插入數據將是所有部分相同,這裏是我目前如何做一個插入。

  //Inserts Feature 1 

      SqlConnection sqlCon2 = new SqlConnection("REMOVED"); 
      SqlCommand sqlCmd2 = new SqlCommand(); 
      sqlCmd2.CommandText = "INSERT INTO [Products].[Features] ([ProductID] ,[Title] ,[ViewOrder]) VALUES ('" + textBox15.Text + "', '" + textBox19.Text + "', NULL) "; 
      sqlCmd2.Connection = sqlCon2; 


      sqlCon2.Open(); 
      sqlCmd2.ExecuteNonQuery(); 
      sqlCon2.Close(); 


      //Inserts Feature 2 

      SqlConnection sqlCon3 = new SqlConnection("REMOVED"); 
      SqlCommand sqlCmd3 = new SqlCommand(); 
      sqlCmd3.CommandText = "INSERT INTO [Products].[Features] ([ProductID] ,[Title] ,[ViewOrder]) VALUES ('" + textBox15.Text + "', '" + textBox20.Text + "', NULL) "; 
      sqlCmd3.Connection = sqlCon3; 

我的主要目標是對如此選擇的文本文件,並將它插入來自某些文本框相同的數據(特徵)爲每個文本框中的零件,並且所述partnumbers必須被插入到柱以及他們是productID。

這可能嗎?

請幫忙謝謝。 :d

+1

我不完全理解你的問題..但爲什麼你不使用參數化查詢? – gbianchi

+0

我試圖爲不同的零件號插入相同的數據。 –

+0

好吧,讓我們試圖澄清你的問題..你是從一個文本文件(爲什麼你的代碼中有文本框?)插入SQL數據庫?你的主要問題在哪裏? – gbianchi

回答

0

我不明白如何在你的問題用一個文件,但如果你想在同一篇文章(textbox15)中添加文本框的許多價值,你可以做到這一點

List<TextBox> texts = new List<TextBox> { textBox16, textBox17, textBox20 }; 
foreach (var textBox in texts) 
{ 
    using (SqlConnection sqlCon2 = new SqlConnection("REMOVED")) 
    { 
     using (SqlCommand sqlCmd2 = new SqlCommand {CommandText = "INSERT INTO [Products].[Features] ([ProductID] ,[Title] ,[ViewOrder]) VALUES ('" + textBox15.Text + "', '" + textBox.Text + "', NULL) ", Connection = sqlCon2}) 
     { 
      sqlCon2.Open(); 
      sqlCmd2.ExecuteNonQuery(); 
     } 
    } 
} 

更新

如果你想插入值存在於你的文本文件的NTM是你第一部分和120中的第二

using (StreamReader sr = new StreamReader(filePath)) 
{ 
    while (!sr.EndOfStream) 
    { 
     var readLine = sr.ReadLine(); 
     if (readLine != null) 
     { 
      string[] strings = readLine.Split('-'); 
      using (SqlConnection sqlCon2 = new SqlConnection("REMOVED")) 
      { 
      using (SqlCommand sqlCmd2 = new SqlCommand { CommandText = "INSERT INTO [Products].[Features] ([ProductID] ,[Title] ,[ViewOrder]) VALUES ('" + strings[0] + "', '" + strings[1] + "', NULL) ", Connection = sqlCon2 }) 
      { 
       sqlCon2.Open(); 
       sqlCmd2.ExecuteNonQuery(); 
      } 
      } 
     } 
    } 
    } 
+0

這是類似於我需要的東西。我需要能夠添加多個部分到文本框中,並插入它 –

+0

@ user3324892,但沒有真正理解你的問題?什麼文件和文本框的關係! – Akrem

+0

我認爲OP是從文件加載到文本框中的數據? – gbianchi

0
List<string> _partNumbers = File.ReadLines(@"Text File Path").ToList(); 

List<string> _partNumbers = File.ReadAllLines(@"Text File Path").ToList(); 

遍歷List_partNumbers,並把它們插入到數據庫中。