标题:Sqlhelper类 如何调用
只看楼主
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
结帖率:85.71%
已结贴  问题点数:20 回复次数:5 
Sqlhelper类 如何调用
Public Function ExecuteNonQueryCommand(ByVal strSQL As String, ByVal params() As SqlParameter) As SqlCommand
        Dim oconn As SqlConnection = GetConnection()
        Dim command As New SqlCommand(strSQL, oconn)
         = CommandType.Text
        For i As Integer = 0 To params.Length - 1
            command.Parameters.Add(params(i))
        Next
        oconn.Open()
        Dim retval As Integer = command.ExecuteNonQuery()
        oconn.Close()
        oconn.Dispose()
        Return command
    End Function



我想调用这个类来执行以下SQL
Dim StrSql As String = "Delete  from SysUser where NTIDName='Yu_yuk' and ValidityDate='07/25/2017'"

可以指点一下吗?SqlParameter 我不懂得怎么写
搜索更多相关主题的帖子: command 如何 
2016-11-03 15:42
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:15 
不知你的这个Sqlhelper类是如何定义的,有些奇怪
ExecuteNonQueryCommand函数的两个参数需要传递的第一个是存储过程名称,另一个是SqlParameter,这是存储过程需要的参数集,而该函数里又定义了 = CommandType.Text,我就不明白了。应该是 = CommandType.StoredProcedure才对。

如果你想调用一个类来执行以下SQL
Dim StrSql As String = "Delete  from SysUser where NTIDName='Yu_yuk' and ValidityDate='07/25/2017'"
可以这么写:
Public Function ExecuteNonQueryCommand(ByVal strSQL As String) As Integer
        Dim oconn As SqlConnection = GetConnection()'这是连接数据库的,不解释了
        Dim command As New SqlCommand(strSQL, oconn)
         = CommandType.Text
        oconn.Open()
        Dim retval As Integer = command.ExecuteNonQuery()'返回受影响的行数
        oconn.Close()
        oconn.Dispose()
        Return retval
    End Function

在调用时
Dim StrSql As String = "Delete  from SysUser where NTIDName='Yu_yuk' and ValidityDate='07/25/2017'"
Dim Mycmd As Integer=ExecuteNonQueryCommand(StrSql)

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-11-04 09:12
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:5 
http://
2016-11-04 09:22
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:0 
至于SqlParameter的定义,可以这么写:当然这是在调用服务器存储过程时才用得到。
dim pters(3) as sqlparameter
pters(0)=new sqlparameter("",sqlbtype.nvarchar)
pters(0).value="这里赋值"
.....
command.parameters.addrange(pters)

建议楼主复习一下SqlCommand类的用法

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-11-04 09:24
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 4楼 不说也罢
谢谢版主,我再好好学习下,先搞透SQLCommand,再次感谢!
2016-11-04 09:32
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 5楼 yuk_yu
我研究出来了,跟大家分享!如果谁有兴趣的我可以把这个类完整分享给大家。

程序代码:
 Dim SqlCmd As SQLHelper = New SQLHelper

        Dim paras As SqlParameter() = {New SqlParameter("@IDNumer", TextBox1.Text),
                                          New SqlParameter("@NTIDName", TextBox2.Text)}

        Dim StrSql As String = "Delete from shortuser where NTIDName=@NTIDName and IDNumer=@IDNumer"
        SqlCmd.ExecuteNonQueryCommand(StrSql, paras)
收到的鲜花
  • 不说也罢2016-11-05 10:01 送鲜花  20朵   附言:我很赞同
2016-11-04 12:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470657-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.201676 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved