Попытка загрузить пустую БД из заполненной сетки данных, которая связана - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь обновить пустую базу данных с несколькими строками, уже заполненными в сетке данных. У меня есть файл CSV заполнить сетку данных, которая связана с базой данных SQL с помощью LINQ to SQL. Мне нужно добавить все строки в БД, чтобы я мог запросить запрошенную информацию.

Я пытался отправить изменения, но информация в сетке не сохраняется в БД. БД всегда пуста.

private void LoadCSV()
    {
        string delimiter = ",";
        string tablename = "ImportInfo";
        string filename = FilePass;

        DataSet DataSet1 = new DataSet();
        StreamReader sr = new StreamReader(filename);

        DataSet1.Tables.Add(tablename);

        DataSet1.Tables[tablename].Columns.Add("A_U_D", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Item_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Menu_Item_Name", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Button_Line_1", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Button_Line_2", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Kitchen_Text",             
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Price_Levels",     
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Product_Class_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Revenue_Cat_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Tax_Group_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Security_Level_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Report_Cat_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("By_Weight", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Tare_Weight", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("SKUs", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Bargun_Code", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Cost", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Blank1", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Prompt_For_Price", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Print_On_Check", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Discountable", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Void_Flag", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("The_86ed_Flag", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Tax_Included", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Menu_Item_Group_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Receipt_Text", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Allow_Price_Override", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Blank2", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Choice_Group", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Kitchen_Printer_Logic", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Covers", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Store_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Kitchen_Video_Text", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("KDS_Dept_ID", typeof(string));
        DataSet1.Tables[tablename].Columns.Add("KDS_Cat_ID", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("KDS_Cook_Time", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Store_Price_Level", 
typeof(string));
        DataSet1.Tables[tablename].Columns.Add("Default_Image_ID", 
typeof(string));


        string allData0 = sr.ReadToEnd();

        Regex yourRegex = new Regex(@"(?<=\{[^}]*),(?=[^}]*\})", 
RegexOptions.Compiled);
        string allData1 = yourRegex.Replace(allData0, "»");

        Regex yourRegex2 = new Regex(("\\\"(.*?)\\\""), 
RegexOptions.Compiled);
        string allData = yourRegex2.Replace(allData1, m => 
m.Value.Replace(",", " "));

        allData.Replace("\"A\"", "A");

        string[] rows = allData.Split("\r".ToCharArray());

        foreach (string r in rows)
        {
            string[] items = r.Split(delimiter.ToCharArray());

            DataSet1.Tables[tablename].Rows.Add(items);

            this.editgrid.ItemsSource = DataSet1.Tables[0].DefaultView;
            dc.SubmitChanges();
        }
    }

БД всегда пуста.

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