如何在MVC中从视图中将变量插入到数据库中

Jas*_*van 5 c# database asp.net-mvc sql-insert mt940

我正在寻找一种方法,将在foreach循环中计算的变量加载到我的数据库中.我正在构建一个从纯文本(.txt文件)中提取值的应用程序.在下面的示例中,我正在过滤文本字符串中的值.我希望应用程序自动将循环中的每个值(计算后)插入数据库表中的新行.有谁知道最好的方法是什么,以及如何做到这一点?

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 />
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图添加此代码,但它不起作用:

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();
}
Run Code Online (Sandbox Code Playgroud)

Jas*_*van 0

问题解决了!

我添加了以下代码,该代码有效:

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();
                         }
Run Code Online (Sandbox Code Playgroud)

现在,程序会自动将 foreach 循环中的所有变量插入数据库中。