以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  mysql怎么批量保存数据啊  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117717)

--  作者:jinzhengbe
--  发布时间:2018/4/18 9:35:00
--  mysql怎么批量保存数据啊

 

代码如下  dr2 是mysql表 

 

1我从商品表 把数据批量导入到 dr2    已经测试成功

2 想要保存dr2 时候去失败了。提示错误,不知道应该怎么办,请各位大侠指点

 

 

Dim Cols1() As String =   {"cn_name1","costPrice","weight","length","eng_name","pic","cn_name","width","gongxiang","isCheck","mu","lei","cs2","cs1","cs3","adddata","pinpaifenlei","spic","riqifenlei","ppic","length1","q2","pinpai"}

Dim Cols6() As String = {"cn_name1","costPrice","weight","length","eng_name","pic","cn_name","width","gongxiang","isCheck","mu","lei","cs2","cs1","cs3","adddata","pinpaifenlei","spic","riqifenlei","ppic","length1","q2","pinpai"}

Dim Cols2() As String = {"cn_name1","costPrice","weight","length","eng_name","pic","cn_name","width","gongxiang","isCheck","mu","lei","cs2","cs1","cs3","adddata","pinpaifenlei","spic","riqifenlei","ppic","length1","q2","pinpai"}


For Each dr1 As DataRow In DataTables("商品").Select("[id] >0")
Dim dr6 As DataRow = DataTables("ivan").AddNew()
Dim dr2 As DataRow = DataTables("分类_table1").AddNew()
For i As Integer = 0 To Cols1.Length -1
dr6(Cols6(i)) = dr1(Cols1(i))
dr2(Cols2(i)) = dr1(Cols1(i))
Next
Next

Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand
Dim connStr As String = "server=1.1.1.1; port=3306; user id=root; password=7761; database=ddm;CharSet=utf8" \'conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open

cmd = new MySql.Data.MySqlClient.MySqlCommand("update new ", conn) \'这里写操作语句,跟sql一样
cmd.ExecuteNonQuery()

conn.close


MessageBox.show("成功")


--  作者:有点甜
--  发布时间:2018/4/18 10:04:00
--  

写循环,合成sql语句,然后执行sql,如

 

For Each dr1 As DataRow In DataTables("商品").Select("[id] >0")
    Dim sql As String = "insert into 表A (第一列, 第二列) values (\'" & dr1("第一列") & "\', \'" & dr1("第二列") & "\')"
    cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn) \'这里写操作语句,跟sql一样
    cmd.ExecuteNonQuery()
Next


--  作者:jinzhengbe
--  发布时间:2018/4/18 10:41:00
--  

不好意思啊,看的不是很明白,

您的意思是,在原来的代码基础上,

在添加一个for each循环么?

还是在原来的 each内 添加?

 

感觉应该是后者

 

还有个情况我可能没有说清楚。

 

dr6 是本地表

dr2 窗口中的 链接的mysql的临时表。

 

dr1的 数据是要插入到dr6  和 dr2 两个表里的

 

 


--  作者:有点甜
--  发布时间:2018/4/18 11:10:00
--  

你要插入到mysql数据库,那就单独编写sql语句,类似

 

http://www.foxtable.com/webhelp/scr/0691.htm

 

http://www.foxtable.com/webhelp/scr/0696.htm

 

只是你的执行改成 cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn)


--  作者:jinzhengbe
--  发布时间:2018/4/18 22:05:00
--  
非常感谢。问题已经解决