Я пытаюсь обновить пустую базу данных с несколькими строками, уже заполненными в сетке данных. У меня есть файл 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();
}
}
БД всегда пуста.