EDIT: Приведенный ниже код работает, но 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
что реальные данные? Конечно, время отчетов - это поле datetime и не принимает текст «rtime»? Это просто пример, другие поля страдают от подобных проблем. – Fionnuala
remou, хороший вопрос, нет, я уверен, что его весь текст, он примет его определенно –
Я боюсь, что я проверил это с помощью Excel и MySQL, используя тестовую таблицу, и все поля обновлены, как ожидалось. Попробуйте эту таблицу для тестирования: создать таблицу binfo (текст в формате datapath, текст анализа, текст отчета, текст lastcalib, текст аналитического имени, текст отчета, текст в формате пакетного ввода, текст инструмента); – Fionnuala