友善交流技术...

VBS 访问数据库遇到的问题解决办法

上一篇 / 下一篇  2012-12-04 17:29:30 / 个人分类:自动化测试

今天做VBS入库的操作,但是遇到许多的问题,
 大概如下:语法错误和乱码问题,还有日期时间格式的问题,下面就自己遇到的问题写出如下解决办法。

1、VBS 访问mysql 基本的代码
Function mysqlinsert(fconfid,userid,handleid,rev,model,result,comm,picpath,role,testpc)
      Dim conn,strConn,SQL,RS      
      SQL="insert into loginfo(confid,userid,handleid,rev,model,result,comm,picpath,role,testpc) values ('"& fconfid &"','"& userid &"','"& handleid &"','"& rev &"','" & model &"','"& result &"','"& comm &"','"& picpath &"','"& role &"','"& testpc &"');"
 msgbox SQL
      Set conn = CreateObject("ADODB.Connection")
      strConn="DRIVER={MySQL ODBC 5.2w Driver};SERVER=1.1.1.1;DATABASE=xxxx;user id=xxx ; password=xxx"
      conn.ConnectionString=strConn
      conn.Open 
      Set rs= CreateObject("ADODB.Recordset")
      rs.Open SQL,conn
      conn.close
      Set rs=Nothing
      Set conn=Nothing
 
End Function

conf ="汉字"
mysqlinsert conf,11,11,22,11,45,11,11,1,11

2、如果解决乱码问题
 (1)安装最新的MYSQL ODBC 驱动下载地址:   http://dev.mysql.com/downloads/connector/odbc/5.1.html
 (2)我的数据库版本是 5.2 以上的,建议安装比较最的ODBC驱动
 (3)ODBC参数如下:设置成utf-8,数据库服务器也要设置utf-8
 
3、提示语法错误如何解决
  一般都是因为在写数据库的时间,没有增加单引号引起的问题如
正确语句 "insert into loginfo(confid,userid) values ('"& fconfid &"','"& userid"');"
错误语句 "insert into loginfo(confid,userid) values ("& fconfid &","& userid");"

4、插入mysq datatime格式不匹配如何解决
  在网上找到下面的函数,可以直接使用,就可以解决格式的问题。
  Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate(s_Time) = False Then Exit Function
y = cstr(year(s_Time))
m = cstr(month(s_Time))
If len(m) = 1 Then m = "0" & m
d = cstr(day(s_Time))
If len(d) = 1 Then d = "0" & d
h = cstr(hour(s_Time))
If len(h) = 1 Then h = "0" & h
mi = cstr(minute(s_Time))
If len(mi) = 1 Then mi = "0" & mi
s = cstr(second(s_Time))
If len(s) = 1 Then s = "0" & s
Select Case n_Flag
Case 1
' yyyy-mm-dd hh:mm:ss
Format_Time = y  & m & d  & h  & mi  & s
Case 2
' yyyy-mm-dd
Format_Time = y & "-" & m & "-" & d &" " & h & ":" & mi & ":" & s
Case 3
' hh:mm:ss
Format_Time = h & ":" & mi & ":" & s
Case 4
' yyyy年mm月dd日
Format_Time = y & "年" & m & "月" & d & "日"
Case 5
' yyyymmdd
Format_Time = y & m & d
End Select
End Function
'调用函数生成时间
msgbox  format_time(now(),2)

VBS 操作数据库这方面的东西还是比较少的,今天搞了一个下午,总算是搞定了。写出来,给不会的人一点指导。


TAG:

 

评分:0

我来说两句

Open Toolbar