c# 怎么将数据批量插入mysql数据库?单条插入会出错
c# 如何将数据批量插入mysql数据库?单条插入会出错。
这里有N个文本文件,每一个文本文件中有几万条数据。
之前的做法是这样的:
打开文本后,逐条读取数据(每行里的字段以','分割)然后分割,按照字段赋值后形成一条sql 的value
但是发现逐条录入时,数据少没有问题,数据多了,处理几个文件后就崩溃了。
请问如何批量入库很多数据呢?
PS:我是C#新手,刚粗浅学习了c#,如果因为我的问题过于浅显或是小白,请见谅。对您来讲可能都不算事儿的事儿对我来说却难如登天。 感谢帮助。
------解决方案--------------------

不知道具体什么逻辑
1.如果数据库可以完成的话 就写成sql语句交给数据库跑
2.1不行的话 把数据读取到datatable中 这样就不用没吃查数据库了 循环datatale
3.用2的时候你查下 看看那个数据操作性能更好 datatable 泛型 等等 貌似还与.netfromwork有关系 ,不同的版本的fromwork 组件的性能也不同
------解决方案--------------------

datatable 也可以对数据进行各种操作 如where sum 等
http://msdn.microsoft.com/zh-cn/library/system.data.datatable.compute(v=vs.110).aspx
这里有N个文本文件,每一个文本文件中有几万条数据。
之前的做法是这样的:
打开文本后,逐条读取数据(每行里的字段以','分割)然后分割,按照字段赋值后形成一条sql 的value
while (!sr.EndOfStream)
{
string aline= sr.ReadLine().Trim();//一行一行读取
string[] list = aline.Split(',');
string insertlist = "'" + a[1] + "','" + a[2]+"','";
for (int i = 0; i < list.Length; i++)
{
insertlist += list[i] + "','";
}
insertlist += list[0]+a[1]+"'";
richTextBox1.Text = insertlist;
string strsql = "INSERT INTO `allwin`.`index_base` (`Symbolname`, `Symboltype`,`date`, `oprice`, `hprice`, `lpirce`, `cpirce`, `vol`, `openint`, `opricevariation`, `hpricevariation`, `lpircevariation`, `cpircevariation`, `symindex`) VALUES (" + insertlist + ")";
MySqlCommand cmd = new MySqlCommand(strsql,conn);
label2.Text = strsql;
try
{
cmd.ExecuteNonQuery();
}
catch
{
}
}
sr.Close();
但是发现逐条录入时,数据少没有问题,数据多了,处理几个文件后就崩溃了。
请问如何批量入库很多数据呢?
PS:我是C#新手,刚粗浅学习了c#,如果因为我的问题过于浅显或是小白,请见谅。对您来讲可能都不算事儿的事儿对我来说却难如登天。 感谢帮助。
------解决方案--------------------
不知道具体什么逻辑
1.如果数据库可以完成的话 就写成sql语句交给数据库跑
2.1不行的话 把数据读取到datatable中 这样就不用没吃查数据库了 循环datatale
3.用2的时候你查下 看看那个数据操作性能更好 datatable 泛型 等等 貌似还与.netfromwork有关系 ,不同的版本的fromwork 组件的性能也不同
------解决方案--------------------
datatable 也可以对数据进行各种操作 如where sum 等
http://msdn.microsoft.com/zh-cn/library/system.data.datatable.compute(v=vs.110).aspx