2016-08-23 34 views
5

Szukam sposobu importowania obciążenia zmiennych, obliczanych w pętli foreach, do mojej bazy danych. Buduję aplikację, która wyodrębnia wartości ze zwykłego tekstu (pliki .txt). W poniższym przykładzie filtruje wartość wycenioną z ciągu tekstowego. Chcę, aby aplikacja automatycznie wstawiała każdą wartość (po obliczeniu) z pętli do nowego wiersza w tabeli bazy danych. Czy ktokolwiek wie, jaki jest najlepszy sposób na zrobienie tego i jak to zrobić?Jak wstawić zmienną do bazy danych z widoku w MVC

foreach (string resultregel in mtregel) 
{ 
    <br /><b>Rij: @regnr</b><br /> 

    regnr = regnr + 1; 

    string valuedateimportA = resultregel.Remove(6); 
    if (valuedateimportA.StartsWith("0")) 
    { 
     var valuedateimport = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day); 
     <i>Value Date Import = No ValueDateImport found!!</i><br /> 
    } 
    else 
    { 
     DateTime valuedateimportB = DateTime.ParseExact(valuedateimportA, "yyMMdd", System.Globalization.CultureInfo.InvariantCulture); 
     string valuedateimport = valuedateimportB.ToString("d-M-yyyy"); 
     <i>Value Date Import = @valuedateimport</i><br /> 
    } 
} 

Próbowałem dodać ten kod, ale to nie działa:

using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString) 
{ 
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("INSERT INTO Import_table (valuedateimport, description, valuename) VALUES (@valuedateimport, @description, @valuename)"); 
    cmd.CommandType = System.Data.CommandType.Text; 
    cmd.Connection = connection; 
    cmd.Parameters.AddWithValue("@valuedateimport", txtvaluedateimport.Text); 
    cmd.Parameters.AddWithValue("@description", txtdescription.Text); 
    cmd.Parameters.AddWithValue("@valuename", txtvaluename.Text); 
    connection.Open(); 
    cmd.ExecuteNonQuery(); 
} 
+1

bez żadnych ram JS. możesz używać natywnych metod javascript lub ajax jquery. –

+0

"nie działa". jak dokładnie to nie działa? Czy otrzymujesz błąd? – ADyson

Odpowiedz

0

Problem rozwiązany!

I dodaje następujący kod, który pracował:

string connectionstring = "Data Source=94.126.71.192;Initial Catalog=JasperTest;Persist Security Info=True;User ID=ID;Password=*********;MultipleActiveResultSets=True;Application Name=EntityFramework"; 

         using (var conn = new System.Data.SqlClient.SqlConnection(connectionstring)) 
         { 
          var cmd = new System.Data.SqlClient.SqlCommand("INSERT INTO Importtesttabel (valuedateimport) VALUES (@bar)", conn); 
          cmd.Parameters.AddWithValue("@bar", valuedateimport); 
          conn.Open(); 
          cmd.ExecuteNonQuery(); 
         } 

Program automatycznie wstawia wszystko od zmiennych z pętli foreach do bazy danych teraz.