移植了一个项目程序,一个按钮读取数据库,全局脚本里写入数据库,自己在数据库里写了几条数据,能读出来,就是写入的时候卡在了Set ors=ocom.Execute,是ssql 错误,移植前可用啊,而且能读,连接都一样,难道是数据库设置问题?还请大神指点迷津,好人一生平安!
写入
Option Explicit
Function action
Dim T1,T2,P1,P2,F1,F2,L1,L2,A1,A2,S1,S2
Dim ors,conn,con,ssql,ocom
Dim PCName
Dim sdate,stime
Dim sminute,ssecond
PCName=HMIRuntime.Tags("@LocalMachineName").Read
T1=HMIRuntime.Tags("NewTag_6").Read
T2=HMIRuntime.Tags("NewTag_5").Read
sdate=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))
If Minute(Now)<10 Then
sminute= "0" & CStr(Minute(Now))
Else
sminute=CStr(Minute(Now))
End If
If Second(Now)<10 Then
ssecond= "0" & CStr(Second(Now))
Else
ssecond=CStr(Second(Now))
End If
stime=CStr(Hour(Now)) & sminute & ssecond
con="Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source =ms\wincc"
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString=con
conn.Cursorlocation=3
conn.open
ssql="insert into tb3 VALUES(" & stime & "," & sdate & "," & T1 & "," & T2 & ")"
Set ors=CreateObject("ADODB.RecordSet")
Set ocom=CreateObject("ADODB.Command")
Set ocom.activeconnection=conn
ocom.CommandType=1
ocom.CommandText=ssql
Set ors=ocom.Execute
'Msgbox "2"
Set ors=Nothing
conn.close
Set conn=Nothing
End Function
读取按钮
Sub OnClick(ByVal Item)
Dim sdate
Dim conn
Dim ssql
Dim ors
Dim ocom
Dim scon
Dim DBGrid
Dim ADODC
Dim syear
Dim smonth
Dim sday
Dim PCName
Dim DTPicker,DTPicker1
Dim time4,time5
syear=CStr(Year(ScreenItems("DTPicker").value)) smonth=CStr(Month(ScreenItems("DTPicker").value))
sday=CStr(Day(ScreenItems("DTPicker").value))
sdate=syear & smonth & sday
scon="Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source =ms\wincc"
ssql="SELECT * FROM tb3 WHERE 日期='"&sdate&"'"
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString=scon
conn.Cursorlocation=3
conn.open
Set ors=CreateObject("ADODB.RecordSet")
Set ocom=CreateObject("ADODB.Command")
ocom.commandtype=1
Set ocom.ActiveConnection=conn
ocom.CommandText=ssql
Set ors=ocom.Execute
Msgbox "查询完成"
Set DBGrid=ScreenItems("HFGrid")
Set DBGrid.DataSource=ors
DBGrid.Refresh
ScreenItems("HFGrid").colwidth(1)=2500
Set ors=Nothing
conn.close
Set conn=Nothing
'Msgbox "5"
End Sub