VBScript 操作數據庫-SQL語句操作 -適用wincc

WINCC -VBScript腳本操作-SqlServer

Function WinCCDataSQL(strSQL)
	Dim wms_ConnStr,objConnection
    '打開數據庫
    wms_ConnStr = "driver=sqL server;SERVER=127.0.0.1\WINCC;DATABASE=JSHRDB;UID=sa;PWD=sa"' 登陸字
	Set objConnection = CreateObject("ADODB.Connection")
	objConnection.ConnectionString = wms_ConnStr
    objConnection.Open   
    Dim lngCount '查到的記錄數
    Dim lngValue '查詢到的結果
    '操作數據庫
    Dim objRecordset,objCommand
    Set objRecordset = CreateObject("ADODB.Recordset")
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
	objCommand.CommandText = strSQL 'sql 語句

    Set objRecordset = objCommand.Execute
    If objRecordset.EOF and objRecordset.BOF  Then 
    
    	MsgBox "沒有信息"
    Exit Function 
    End If 
    
    lngCount = objRecordset.Fields.Count

	'如果查詢到的記錄數大於0
	If (lngCount>0) Then
		'Recordset 對象mvoefirst
		'把記錄指針移動到第一條記錄
	'	objRecordset.mvoefirst
    	lngValue = objRecordset.Fields(0).Value	
    	'HMIRuntime.Tags("dbValue").Write lngValue
		MsgBox "數據庫值:"&lngValue 
    Else
	 'HMIRuntime.Trace "Selection returned no fields" & vbNewLine
	  MsgBox "數據庫值:"&lngValue 
	End If 
	
    Set objCommand = Nothing
	objConnection.Close
	Set objRecordset = Nothing
	Set objConnection = Nothing
End Function 


Call WinCCDataSQL("select CodeUser,CodeName,Password from tb_user WHERE CodeUser = '00001' AND Password = '123456'")
	
'BOF指示當前記錄的位置在 Recordset 對象的第一個記錄之前。
'EOF指示當前記錄的位置在 Recordset 對象的最後一個記錄之後。
'使用 BOF 和 EOF 屬性確定 Recordset 對象是否包含記錄,或者從一個記錄移動到另一個記錄時是否超出 Recordset 對象的限制。
'如果當前記錄位於第一個記錄之前,則 BOF 屬性返回 True ()。
'如果當前記錄是第一個記錄或位於第一個記錄之後,則返回 False。
'如果當前記錄位於最後一個記錄之後,則 EOF 屬性返回 True。
'如果當前記錄是最後一個記錄或位於最後一個記錄之前,則返回False。
'如果 BOF 或 EOF 屬性爲 True,則沒有當前記錄。
'如果打開不包含記錄的 Recordset 對象,則 BOF 和 EOF 屬性被設置爲 True,Recordset 對象的 RecordCount 屬性設置爲零。
'當打開至少包含一個記錄的 Recordset 對象時,第一個記錄是當前記錄,並且 BOF 和 EOF 屬性均爲 False。
'如果刪除 Recordset 對象中保留的最後一個記錄,BOF 和 EOF 屬性將保持 False,直到重新定位當前記錄爲止。
發佈了9 篇原創文章 · 獲贊 0 · 訪問量 5710
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章