【发布时间】:2019-02-06 17:07:29
【问题描述】:
我有一个字符串数据列表,我想存储在我的 MySQL 数据库表中的“类别”列中。
有没有办法随时存储它,因为它的列表很长。`
public Class PickerView{
List<string> CategoriesPicker = new List<string>();
public Button SaveItemsButton = new Button();
public PickerView()
{
CategoriesPicker.Items.Add("Hotels & Travel");
CategoriesPicker.Items.Add("Restaurant");
CategoriesPicker.Items.Add("Wholesalers");
CategoriesPicker.Items.Add("Automotives");
CategoriesPicker.Items.Add("Pets");
CategoriesPicker.Items.Add("Musical Instruments Services");
CategoriesPicker.Items.Add("Specialty Food");
CategoriesPicker.Items.Add("Food");
CategoriesPicker.Items.Add("Boutique");
CategoriesPicker.Items.Add("Home & Gardens");
CategoriesPicker.Items.Add("Shopping");
CategoriesPicker.Items.Add("Education");
CategoriesPicker.Items.Add("Books,Mags,Music & Video");
CategoriesPicker.Items.Add("Fashion");
CategoriesPicker.Items.Add("Event Planning & Services");
CategoriesPicker.Items.Add("Arts & Craft");
CategoriesPicker.Items.Add("Local Services");
CategoriesPicker.Items.Add("NightLife(Bars..)");
SaveItemsButton.Clicked += SavedItemsButton_Clicked
}
private void SavedItemsButton_Clicked(object sender, System.EventArgs e)
{
string sqlstring = "server=; port= ; user id =;Password= ;Database=test;";
MySqlConnection conn = new MySqlConnection(sqlstring);
try
{
conn.Open();
}
catch (MySqlException ex)
{
throw ex;
}
string Query = "INSERT INTO test.maintable (Categories)values('" +(**//I DONT KNOW WHAT TO WRITE HERE TO SAVE ALL AT ONCE**) + "');";
MySqlCommand cmd = new MySqlCommand(Query, conn);
cmd.ExecuteReader();
conn.Close();
}
}`
点击SaveItemsButton时如何将CategoriesPicker中的项目列表保存到数据库中。
【问题讨论】:
-
“随时存储”是什么意思?您尝试了哪些方法,哪些方法无效?
-
一个可能的选择是MySqlBulkLoader
-
@David 一次存储所有内容,而不是一次存储一个
-
@loisbotwe:在这种情况下,前面提到的批量加载器类可能是最好的选择。另一种选择可能是创建一堆插入语句,然后批量执行它们,如果驱动程序支持,可能作为一个用分号分隔的大 SQL 命令。
-
@stuartd 我的数据不在文件中,它在 c# 的列表中。