Можно ли сделать в колонке сообщение о том, является ли определенное значение дебетовым или кредитным? - PullRequest
0 голосов
/ 07 мая 2019

Я пишу программу ASP.NET, которая импортирует данные из файла Excel в базу данных. Этот файл Excel имеет столбец «Значение в евро» (так ли это на португальском языке… «Valor em EUR»), и я хочу, чтобы во время импорта файла код создавал в SQL Server столбец с именем «Дебет / кредит». В этом столбце будет указано, являются ли значения в «Значение в евро» дебетовыми (отрицательными) или кредитными (положительными).

Например: таблица перед импортом:

Date of mov. Value in Euro 
12-09-2010   -5000
 3-19-2010   1928

Таблица после импорта:

Date of mov. Value in Euro  Debit/Credit 
12-09-2010   -5000            Debit
 3-19-2010   1928             Credit

Мой код в asp.net:

protected void Upload_Click(object sender, EventArgs e)
{
    string excelPath = Server.MapPath("~/Nova pasta/") + Path.GetFileName(FileUpload1.PostedFile.FileName);

    string filepath = Server.MapPath("~/Nova pasta/") + Path.GetFileName(FileUpload1.FileName);
    string filename = Path.GetFileName(filepath);

    FileUpload1.SaveAs(excelPath);
    string ext = Path.GetExtension(filename);

    String strConnection = @"Data Source=PEDRO-PC\SQLEXPRESS;Initial Catalog=costumizado;Persist Security Info=True;User ID=sa;Password=1234";
    string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0 Xml;HRD=YES;IMEX=1;\"";

    OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);

    OleDbCommand cmd = new OleDbCommand("Select * from [rptListaMovs_4$]", excelConnection);

    excelConnection.Open();
    cmd.ExecuteNonQuery();

    DataSet ds = new DataSet();

    SqlDataAdapter da = new SqlDataAdapter("Select * from [rptListaMovs_4$]", strConnection);

    OleDbDataReader dReader;
    dReader = cmd.ExecuteReader();

    using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
    {
        sqlBulk.DestinationTableName = "Dados";
        sqlBulk.ColumnMappings.Add("Data Mov", "Data Mov.");
        sqlBulk.ColumnMappings.Add("Data Valor", "Data Valor");
        sqlBulk.ColumnMappings.Add("Descrição do Movimento" , "Descrição do Movimento");
        sqlBulk.ColumnMappings.Add("Valor em EUR", "Valor em EUR");

        sqlBulk.WriteToServer(dReader);
    }

    excelConnection.Close();
}

Надеюсь, вы, ребята, понимаете, что я имел в виду ... Я ничего не нашел по этому поводу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...