編輯:下面工作的代碼,但corret解決方案可以在這裏找到:Connecting Excel to Mysql Update PROBLEM
它涉及到使用文本數據類型的困難。
這似乎是工作,但不要問我爲什麼:
dpath = "a" ''Trim(Range("B2").Text)
atime = "a" ''Trim(Range("B3").Text)
rtime = "a" ''Trim(Range("B4").Text)
lcalib = "a" ''Trim(Range("B5").Text)
aname = "a" ''Trim(Range("B6").Text)
rname = "a" ''Trim(Range("B7").Text)
bstate = "a" ''Trim(Range("B8").Text)
cn.Open strCon
cmd.ActiveConnection = cn
cmd.CommandText = _
"INSERT INTO `batchinfo` (`datapath`, `analysistime`," _
& "`reporttime`,`lastcalib`,`analystname`,`reportname`," _
& "`batchstate`,`instrument`) " _
& "VALUES (?,?,?,?,?,?,?,?);"
cmd.Parameters.Append _
cmd.CreateParameter("datapath", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("analysistime", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("reporttime", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("lastcalib", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("analystname", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("reportname", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("batchstate", adChar, adParamInput, 100)
cmd.Parameters.Append _
cmd.CreateParameter("instrument", adChar, adParamInput, 100)
cmd.Parameters("datapath").Value = "abc"
cmd.Parameters("analysistime").Value = atime
cmd.Parameters("reporttime").Value = rtime
cmd.Parameters("lastcalib").Value = lcalib
cmd.Parameters("analystname").Value = aname
cmd.Parameters("reportname").Value = rname
cmd.Parameters("batchstate").Value = "bstate"
cmd.Parameters("instrument").Value = "NA"
cmd.Execute
那是真實的數據?當然reporttime是日期時間字段,不會接受「rtime」文本?這只是一個例子,其他領域也存在類似的問題。 – Fionnuala 2010-05-12 21:53:02
remou,很好的問題,不會確定它的所有文本,它肯定會接受它 – 2010-05-12 21:55:57
恐怕我已經用Excel和MySQL測試了這個測試表,並且所有字段都按預期更新了。試用下表進行測試:創建表binfo(數據路徑文本,分析時間文本,報告時間文本,lastcalib文本,分析名稱文本,報告名稱文本,批處理文本,儀器文本); – Fionnuala 2010-05-12 22:25:15