作者winnieboy (~砍掉重练~)
看板Visual_Basic
标题[SQL ](VB) Excel更新资料後汇入linux mysql~
时间Tue May 11 17:33:33 2010
※ [本文转录自 Database 看板]
作者: winnieboy (~砍掉重练~) 看板: Database
标题: [SQL ](VB) Excel更新资料後汇入linux mysql~
时间: Tue May 11 17:32:16 2010
各位大哥好,因工作需求要将excel汇入mysql 及 将 mysql汇出excel
以上二个功能都做完了,但还需要一个功能就是我汇入一份Excel後,
要修改Excel上的任意数值後再汇入一次,这时就会出现错误。
duplicate entry 'ABA00001' for key 1
感觉是不能用rs.AddNew,但把AddNew那行注解後也是出现一样的讯息
我使用ADO 的方式,附上程式码 希望有高手出现 Orz....
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER=MySQL ODBC 3.51 DRIVER;SERVER=192.168.2.18;DATABASE=test;UID=root;password=123456"
conn.Open
rs.Open "SELECT * FROM User ", conn, adOpenStatic, adLockOptimistic
Do Until Res.EOF
'rs.AddNew
rs("Serial_No") = Res.Fields(0).Value
rs("PW") = Res.Fields(1).Value
rs("Manufacture date") = Res.Fields(2).Value
rs("Product name") = Res.Fields(3).Value
Res.MoveNext
rs.Update
Loop
--
http://www.wretch.cc/user/littlesafe99
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.211.183
--
http://www.wretch.cc/user/littlesafe99
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.211.183
1F:→ winnieboy:我笨了好几天....刚突然解决了.....Orz... 05/11 17:42
2F:推 jwjeng:要不要顺便说一下是怎麽解决的? 05/11 22:52
3F:→ winnieboy:目前是写双重回圈判断主键是否在资料库内再做更新... 05/12 09:04
4F:→ winnieboy:但我觉得这样速度好像有点慢,有人推荐用Insert..还在试 05/12 09:04
5F:→ winnieboy:应该说是 INSERT … ON DUPLICATE KEY UPDATE..... 05/12 09:09
6F:→ JacobTai:如果是 MySQL 直接用 replace into 吧... 05/12 11:25
7F:→ winnieboy:最後还是使用Delete後再addNew的方式 = =.. 05/12 13:18