WINCC6.2下C脚本访问SQL SERVER 存储过程

各位老师和朋友:
   
    我现在需要在WINCC6.2下用C脚本访问SQL SERVER 存储过程(有输入输出参数)。

 想请各位老师和朋友提供一个完整的访问语句(C脚本),谢谢!!!
 

问题补充:
dcount107:

   您好!
       非常感谢您的指导,那如果添加“输出参数”,方法应该和添加“输入参数”一样,是不是要特别指明它是输出。又该如何写呢,请指教。我刚学习,实在是不好意思。

最佳答案

数据导出和存储过程是两码事,不要混为一谈。

  要访问存储过程,必然要使用ADODB.Command对象,而C脚本似乎无法使用oComm->ActiveConnection = oConn;这样的语句来指定连接(至少我试过是这样的),因此走C脚本行不通。

  下面是一个例子,用于访问带一个参数的存储过程:
  ----------------------------
  '数据库名称:ProTest    表名:USERNAME  字段1:USERID 字段2:USERNAME
  '#存储过程:'
  'CREATE PROCEDURE DelUser 
  '  @UserID Int
  '  As
  '        DELETE FROM USERNAME WHERE USERID = @UserID      
  Dim oConn,oComm,oPara
  Set oConn = CreateObject("ADODB.Connection")
  Set oComm = CreateObject("ADODB.Command")
  Set oPara = CreateObject("ADODB.Parameter")

  Dim strConn
  strConn="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=ProTest"
  oConn.Open strConn '连接数据库
  HMIRuntime.Trace "SQL Connecting OK!" & vbCrLf

   oComm.ActiveConnection = oConn
      oComm.CommandType =&H0004 'adCmdStoredProc  '类型为存储过程,相当于调用SQL SERVER预设的函数
      oComm.CommandText = "DelUser"   '指定存储过程名称
      Set oPara = oComm.CreateParameter("USERID", 3,&H0001 , 4) '添加1个参数 3--adInteger,&H0001--adParamInput
      oPara.Value = 2  '设置参数值(即欲删除的UserID)
      oComm.Parameters.Append oPara  '添加
      oComm.Execute  '执行命令
  Set oPara= Nothing
  Set oComm= Nothing
  oConn.Close
  Set oConn = Nothing

 -------------------------
 补充:肯定要指定类型的啊,&H0002代表adParamOutput,比如:
 Set oParaOut = oComm.CreateParameter("TotleCount", 3,&H0002 , 4) 
 ....
 ....
 MsgBox oParaOut.Value

提问者对于答案的评价:
很详细,非常感谢!
 以后有问题还要请教您啊!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午11:58
下一篇 2019年6月11日 上午11:58

相关推荐

  • TP1900触摸屏,使用U盘更新程序

    TP1900触摸屏上已经下载了程序,需要修改该程序,但是没有笔记本电脑,能不能将修改好的触摸屏程序考到U盘了,通过触摸屏断电上电的方式来更改程序?触摸屏编程用的博途V13,具体需要…

    SIMATIC WinCC 2017年5月31日
  • wiccflexible run通讯PLC

    大家好: 我这里有一台设备原有控制方式是由工控PC机安装wiccflexible 2008SP3用以太网通讯300PLC。可是在昨天PC机黑屏开不了机。我用笔记…

    SIMATIC WinCC 2021年7月5日
  • wincc冗余连接向导配置问题

    去年刚做的一个300PLC软冗余项目,当时WINCC设置了两套变量(每个CPU各有一组),当时工作正常,现在决定就用一套变量,所以使用了“创建冗余连接”,创建好后发现一个问题,所以…

    SIMATIC WinCC 2018年12月5日
  • 开关量建趋势图

    请问:Wincc 7.4中开关量如何建趋势图? 最佳答案 WINCC在画面中一般借助 WinCC 在线趋势控件,可将当前或归档过程值显示为趋势如果只是…

    SIMATIC WinCC 2020年11月1日
  • 电脑没响了

    郁闷中,换了霏凡XP纯净版安 Wcc6.0/s75.3中文版后发现没响了,小喇叭没了,控制面板里声音和音频设备里都是灰色的,设备管理器里声音,视频和游戏控制器下按右键只有…

    SIMATIC WinCC 2019年6月11日
  • 请问为什么这个阀门颜色在不同画面中显示会不一样呢?

    很奇怪,在画面中阀门触发报警显示颜色正常为橙色和蓝色闪烁,但在画面2中报警显示颜色却为绿色和天蓝色闪烁,这是怎么回事?谢谢! 图片说明:     &n…

    2021年7月5日
  • WICC报警记录导出问题

    想把WINCC报警记录里面的报警信息导出来,但直接复制是复制不了,有不有办法导出来,把编号对应的报警信息一起导出来。 图片说明:    最佳答案 报警记录—…

    2017年11月29日
  • wicc动态修改填充量

    请问如何动态修改图形的填充量,需要那个函数,多谢??c脚本怎么写,, 最佳答案 动态填充量是按百分数来填充的你直接在填充量的动态上连接变量,如果变量的范围不是0~100的,那么你就…

    SIMATIC WinCC 2017年12月9日
  • wincc 脚本调试用啥窗口

    我用wincc 7.4调试程序,在vbs 调试用 那个脚本调试窗口,但报错一般提示都很简单,比方说逗号问题,也不知道提示哪行的逗号,不好排查问题,除了…

    SIMATIC WinCC 2020年11月1日
  • wincc有组态王好吗?

    wincc有组态王好吗? 最佳答案 各有长处   不过我个人认为  好! 提问者对于答案的评价:xiexie

    SIMATIC WinCC 2019年6月11日