编辑:下面工作的代码,但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