首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

已经在这上面很多天了,各位老大们,难不成没有高手了吗。

2013-08-04 
已经在这上面很多天了,求救,各位老大们,难不成没有高手了吗。急。Microsoft.SqlServer.Server.SqlProcedure

已经在这上面很多天了,求救,各位老大们,难不成没有高手了吗。急。
  <Microsoft.SqlServer.Server.SqlProcedure()> _
    Public Shared Sub 系统启动_身份验证(ByVal abc As Structured) ', ByRef obj_输出参数 As Object) '
        Dim cn As New SqlConnection
        cn.ConnectionString = "context connection=true"
        Dim cmd As New SqlCommand()
        cmd = cn.CreateCommand
        cmd.CommandText = "select * from abc"
        cn.Open()
        Dim int_影响行数 As Integer
        int_影响行数 = cmd.ExecuteNonQuery()
        'If int_影响行数 = 1 Then
        '    obj_输出参数.Item(0) = 1
        '    obj_输出参数.Item(1) = "gyuser"
        '    obj_输出参数.Item(2) = "hainanjtk999"
        'Else
        '    obj_输出参数.Item(0) = 0
        'End If
        cn.Close()
    End Sub

以上是一个vs2010 下的sql clr 过程,在往sql server 2008部署的过程中报错。
其中ByVal abc As Structured 这句提示出错。
现在的想法是处理一个表值的参数,按照常见的例子,如果用sql 来写存储过程是没问题的。
现在是想用vs 2010 来写这个存储过程,这种情况下,写ByVal abc As Structured,他
部署的时候提示无法创建类型。是哪里写得不对呢?在用vs 2010来写存储过程的时候,如何注明这个
用户自定表类型?求求各位大爷,急了。
[解决办法]
呵呵,CLR过程还真没研究过,这类开发接触的不多啊~你在联机丛书上找找事例吧

[解决办法]
你还在问你那个表类型的东西啊

你要传一个table类型过来
那么数据库就要有一个自定义的类型去接收

这也是你原来的套路,关键是在于这个类型,而不是你的sp

即便是你定义一个clr的sp,你的sp在调用的时候还是要有个类型去接收这个table 的



建议:传一个xml过来,省去了clr的麻烦,也省去了表类型的固定不变
[解决办法]
千万别做通用存储过程,这样程序效率低得吓人
[解决办法]
不是没有高手,是因为这里是发SQL SERVER帖子的,你这个应该到其他区问

热点排行