Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
discount week 80 + hiring
Avatar
Maros2470
Člen
Avatar
Maros2470:13.9.2014 9:28

Zdravím, můžete mi někdo poradit odkaz, kde bych získal informace o importování dat z csv do databáze v ASP.NET aplikaci. Prohledal jsem kde co, ale našel jsem pouze export. Díky

 
Odpovědět
13.9.2014 9:28
Avatar
Maros2470
Člen
Avatar
Maros2470:13.9.2014 9:32

Zatím to mám napsáno takto, ale data to nenačte. Chybu to nehlásí žádnou. Jen to problikne a nic.

using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using eli_elektro.Models;

namespace eli_elektro.Admin
{
    public partial class InsertCsv : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                PopulateDatabaseData();
                lblMessage.Text = "Current Database Data.";
            }
        }

        private void PopulateDatabaseData()
        {
            using (var dc = new PriceContext())
            {
                gvData.DataSource = dc.Appliances.ToList();
                gvData.DataBind();
            }
        }

        public List<Appliance> GeAppliances()
        {
            var db = new PriceContext();
            var query = db.Appliances;
            return query.ToList();
        }


        protected void btnImportCSV_click(object sender, EventArgs e)
        {
            if (FileUpload1.PostedFile.ContentType == "text/csv" || FileUpload1.PostedFile.ContentType == "application/vnd.ms-excel")
            {
                string fileName = Path.Combine(Server.MapPath("~/UploadDocuments"), new Guid() + ".csv");
                FileUpload1.PostedFile.SaveAs(fileName);

                string[] lines = File.ReadAllLines(fileName);
                string[] fields;

                // Odstranění hlavičky CSV
                lines = lines.Skip(1).ToArray();
                var emList = new List<Appliance>();

                foreach (var line in lines)
                {
                    fields = line.Split(';');
                    emList.Add(item: new Appliance
                    {
                        Customer = fields[0],
                        Place1 = fields[1],
                        Place2 = fields[2],
                        Place3 = fields[3],
                        Place4 = fields[4],
                        ApplianceId = fields[5],
                        Name = fields[6],
                        SortingKey = fields[7],
                        InvertoryNumber = fields[8],
                        SerialNumber = fields[9],
                        CordLength = Convert.ToDecimal(fields[10]),
                        RevisionInterval = Convert.ToInt16(fields[11]),
                        TakenIntoEvidence = Convert.ToDateTime(fields[12]),
                        Note = fields[13],
                        Group = fields[14],
                        ProtectionClass = fields[15],
                        ConnectionMethod = fields[16],
                        AppCategory = fields[17],
                        EquipmentClass = fields[18],
                        UserValue0Name = fields[19],
                        UserValue0Value = fields[20],
                        UserValue1Name = fields[21],
                        UserValue1Value = fields[22],
                        UserValue2Name = fields[23],
                        UserValue2Value = fields[24],
                        UserValue3Name = fields[25],
                        UserValue3Value = fields[26],
                        UserValue4Name = fields[27],
                        UserValue4Value = fields[28],
                        UserValue5Name = fields[29],
                        UserValue5Value = fields[30],
                        UserValue6Name = fields[31],
                        UserValue6Value = fields[32],
                        UserValue7Name = fields[33],
                        UserValue7Value = fields[34],
                        UserValue8Name = fields[35],
                        UserValue8Value = fields[36],
                        UserValue9Name = fields[37],
                        UserValue9Value = fields[38],
                        MeasDate = Convert.ToDateTime(fields[39]),
                        MPr = fields[40],
                        MZk = fields[41],
                        MRpe200mA = fields[42],
                        MRpe10A = fields[43],
                        Mu10A = fields[44],
                        MRiso500V = fields[45],
                        MRiso250V = fields[46],
                        MRiso100V = fields[47],
                        MRisoInW = fields[48],
                        MRisoWPe = fields[49],
                        MRisoInPe = fields[50],
                        MIpe = fields[51],
                        MIpeInv = fields[52],
                        MIpeExt = fields[53],
                        MIdif = fields[54],
                        MIdifInv = fields[55],
                        MIdifExt = fields[56],
                        MId = fields[57],
                        MIdDif = fields[58],
                        MIsub = fields[59],
                        MidW = fields[60],
                        MIdDifW = fields[61],
                        Mp = fields[62],
                        MpExt = fields[63],
                        Ms = fields[64],
                        MsExt = fields[65],
                        McosPhi = fields[66],
                        Mi = fields[67],
                        Mu = fields[68],
                        MiExt = fields[69],
                        MTemp = fields[70],
                        MRpm = fields[71],
                        MUoVef = fields[72],
                        MUoVpp = fields[73],
                        MimSn = fields[74],
                        MimPn = fields[75],
                        MimPp = fields[76],
                        MimPPz = fields[77],
                        MeasInspectionNote = fields[78],
                        MeasInspectionStatus = fields[79],
                        MeasFunctTestNote = fields[80],
                        MeasFunctTestStatus = fields[81],
                        MeasMeasurementsNote = fields[82],
                        MeasMeasurementsStatus = fields[83],
                        MeasGlobalNote = fields[84],
                        MeasGlobalStatus = fields[85],
                        InspectorName = fields[86],
                        InspectorSecondName = fields[87],
                        InspectorLicense = fields[88],
                        DeviceSerialNum = fields[89],
                        DeviceType = fields[90],
                        DeviceCalibrationNum = fields[91],
                        DeviceCalibrationExpire = fields[92],
                        SupplFirm = fields[93],
                        SupplIc = fields[94],

                    });

                    // Update Database Data

                    using (var dc = new PriceContext())
                    {
                        foreach (var i in emList)
                        {
                            var v = dc.Appliances.FirstOrDefault(a => a.Id.Equals(i.Id));
                            if (v != null)
                            {

                                v.Customer = i.Customer;
                                v.Place1 = i.Place1;
                                v.Place2 = i.Place2;
                                v.Place3 = i.Place3;
                                v.Place4 = i.Place4;
                                v.ApplianceId = i.ApplianceId;
                                v.Name = i.Name;
                                v.SortingKey = i.SortingKey;
                                v.InvertoryNumber = i.InvertoryNumber;
                                v.SerialNumber = i.SerialNumber;
                                v.CordLength = i.CordLength;
                                v.RevisionInterval = i.RevisionInterval;
                                v.TakenIntoEvidence = i.TakenIntoEvidence;
                                v.Note = i.Note;
                                v.Group = i.Group;
                                v.ProtectionClass = i.ProtectionClass;
                                v.ConnectionMethod = i.ConnectionMethod;
                                v.AppCategory = i.AppCategory;
                                v.EquipmentClass = i.EquipmentClass;
                                v.UserValue0Name = i.UserValue0Name;
                                v.UserValue0Value = i.UserValue0Value;
                                v.UserValue1Name = i.UserValue1Name;
                                v.UserValue1Value = i.UserValue1Value;
                                v.UserValue2Name = i.UserValue2Name;
                                v.UserValue2Value = i.UserValue2Value;
                                v.UserValue3Name = i.UserValue3Name;
                                v.UserValue3Value = i.UserValue3Value;
                                v.UserValue4Name = i.UserValue4Name;
                                v.UserValue4Value = i.UserValue4Value;
                                v.UserValue5Name = i.UserValue5Name;
                                v.UserValue5Value = i.UserValue5Value;
                                v.UserValue6Name = i.UserValue6Name;
                                v.UserValue6Value = i.UserValue6Value;
                                v.UserValue7Name = i.UserValue7Name;
                                v.UserValue7Value = i.UserValue7Value;
                                v.UserValue8Name = i.UserValue8Name;
                                v.UserValue8Value = i.UserValue8Value;
                                v.UserValue9Name = i.UserValue9Name;
                                v.UserValue9Value = i.UserValue9Value;
                                v.MeasDate = i.MeasDate;
                                v.MPr = i.MPr;
                                v.MZk = i.MZk;
                                v.MRpe200mA = i.MRpe200mA;
                                v.MRpe10A = i.MRpe10A;
                                v.Mu10A = i.Mu10A;
                                v.MRiso500V = i.MRiso500V;
                                v.MRiso250V = i.MRiso250V;
                                v.MRiso100V = i.MRiso100V;
                                v.MRisoInW = i.MRisoInW;
                                v.MRisoWPe = i.MRisoWPe;
                                v.MRisoInPe = i.MRisoInPe;
                                v.MIpe = i.MIpe;
                                v.MIpeInv = i.MIpeInv;
                                v.MIpeExt = i.MIpeExt;
                                v.MIdif = i.MIdif;
                                v.MIdifInv = i.MIdifInv;
                                v.MIdifExt = i.MIdifExt;
                                v.MId = i.MId;
                                v.MIdDif = i.MIdDif;
                                v.MIsub = i.MIsub;
                                v.MidW = i.MidW;
                                v.MIdDifW = i.MIdDifW;
                                v.Mp = i.Mp;
                                v.MpExt = i.MpExt;
                                v.Ms = i.Ms;
                                v.MsExt = i.MsExt;
                                v.McosPhi = i.McosPhi;
                                v.Mi = i.Mi;
                                v.Mu = i.Mu;
                                v.MiExt = i.MiExt;
                                v.MTemp = i.MTemp;
                                v.MRpm = i.MRpm;
                                v.MUoVef = i.MUoVef;
                                v.MUoVpp = i.MUoVpp;
                                v.MimSn = i.MimSn;
                                v.MimPn = i.MimPn;
                                v.MimPp = i.MimPp;
                                v.MimPPz = i.MimPPz;
                                v.MeasInspectionNote = i.MeasInspectionNote;
                                v.MeasInspectionStatus = i.MeasInspectionStatus;
                                v.MeasFunctTestNote = i.MeasFunctTestNote;
                                v.MeasFunctTestStatus = i.MeasFunctTestStatus;
                                v.MeasMeasurementsNote = i.MeasMeasurementsNote;
                                v.MeasMeasurementsStatus = i.MeasMeasurementsStatus;
                                v.MeasGlobalNote = i.MeasGlobalNote;
                                v.MeasGlobalStatus = i.MeasGlobalStatus;
                                v.InspectorName = i.InspectorName;
                                v.InspectorSecondName = i.InspectorSecondName;
                                v.InspectorLicense = i.InspectorLicense;
                                v.DeviceSerialNum = i.DeviceSerialNum;
                                v.DeviceType = i.DeviceType;
                                v.DeviceCalibrationNum = i.DeviceCalibrationNum;
                                v.DeviceCalibrationExpire = i.DeviceCalibrationExpire;
                                v.SupplFirm = i.SupplFirm;
                                v.SupplIc = i.SupplIc;
                            }

                            else
                            {
                                dc.Appliances.Add(i);
                            }

                            dc.SaveChanges();
                            //Populate  Database Data
                            PopulateDatabaseData();
                            lblMessage.Text = "Data uložena!";
                        }
                    }
                }
            }
        }
    }
}
 
Nahoru Odpovědět
13.9.2014 9:32
Avatar
Nahoru Odpovědět
13.9.2014 9:44
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Nahoru Odpovědět
13.9.2014 9:45
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.