sql server clr 中疑问,请救我.
请看代码
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub clgl_updatedata(ByVal cx As String, ByVal cph As String, ByVal czrs As String, ByVal ssbm As String, ByVal zt As String, ByVal gmrq As DateTime, ByVal tp As Byte(), ByVal yt As String, ByVal bz As String, ByRef is_update As Integer)
Dim cn As New SqlConnection
cn.ConnectionString = "context connection=true"
Dim cmd As New SqlCommand()
cmd = cn.CreateCommand
cn.Open()
cmd.CommandText = "if not exists(select * from 车辆基本表 where 车牌号='" & Trim(cph) & "') insert into [车辆基本表] ([车型],[车牌号], [座位数], [所属部门], [状态], [购买日期], [图片],[用途],[备注]) values (@车型,@车牌号,@座位数,@所属部门,@状态,@购买日期,@图片,@用途,@备注)"
cmd.Parameters.Add("@车型", SqlDbType.NChar, 15)
cmd.Parameters("@车型").Value = cx
cmd.Parameters.Add("@车牌号", SqlDbType.NChar, 10)
cmd.Parameters("@车牌号").Value = cph
cmd.Parameters.Add("@座位数", SqlDbType.NChar, 5)
cmd.Parameters("@座位数").Value = czrs
cmd.Parameters.Add("@所属部门", SqlDbType.NChar, 10)
cmd.Parameters("@所属部门").Value = ssbm
cmd.Parameters.Add("@状态", SqlDbType.NChar, 5)
cmd.Parameters("@状态").Value = zt
cmd.Parameters.Add("@用途", SqlDbType.NChar, 10)
cmd.Parameters("@用途").Value = yt
cmd.Parameters.Add("@购买日期", SqlDbType.DateTime)
cmd.Parameters("@购买日期").Value = gmrq
cmd.Parameters.Add("@图片", SqlDbType.Image)
cmd.Parameters("@图片").Value = tp
cmd.Parameters.Add("@备注", SqlDbType.VarChar, 200)
cmd.Parameters("@备注").Value = bz
is_update = tp.Length
cmd.ExecuteNonQuery()
cn.Close()
End Sub
这是一个sql server 2005 clr中的一个存储过程,我的问题就是在ByVal tp As Byte()这个变量中,他
传输进来的只有8000字节, 如果不使用clr,我直接在sql server 中编辑一个存储过程,用image或者binary
变量来传输参数,是没有问题的,我就是相不明白,既然有sql server clr这种东西,怎么就没有相应的变量代替
image或binary?有人说用sqlBinary变量,我试过,也不行,也是8000字节.是不是要在哪里设置一下?
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub clgl_updatedata(ByVal cx As String, ByVal cph As String, ByVal czrs As String, ByVal ssbm As String, ByVal zt As String, ByVal gmrq As DateTime, ByVal tp As Byte(), ByVal yt As String, ByVal bz As String, ByRef is_update As Integer)
Dim cn As New SqlConnection
cn.ConnectionString = "context connection=true"
Dim cmd As New SqlCommand()
cmd = cn.CreateCommand
cn.Open()
cmd.CommandText = "if not exists(select * from 车辆基本表 where 车牌号='" & Trim(cph) & "') insert into [车辆基本表] ([车型],[车牌号], [座位数], [所属部门], [状态], [购买日期], [图片],[用途],[备注]) values (@车型,@车牌号,@座位数,@所属部门,@状态,@购买日期,@图片,@用途,@备注)"
cmd.Parameters.Add("@车型", SqlDbType.NChar, 15)
cmd.Parameters("@车型").Value = cx
cmd.Parameters.Add("@车牌号", SqlDbType.NChar, 10)
cmd.Parameters("@车牌号").Value = cph
cmd.Parameters.Add("@座位数", SqlDbType.NChar, 5)
cmd.Parameters("@座位数").Value = czrs
cmd.Parameters.Add("@所属部门", SqlDbType.NChar, 10)
cmd.Parameters("@所属部门").Value = ssbm
cmd.Parameters.Add("@状态", SqlDbType.NChar, 5)
cmd.Parameters("@状态").Value = zt
cmd.Parameters.Add("@用途", SqlDbType.NChar, 10)
cmd.Parameters("@用途").Value = yt
cmd.Parameters.Add("@购买日期", SqlDbType.DateTime)
cmd.Parameters("@购买日期").Value = gmrq
cmd.Parameters.Add("@图片", SqlDbType.Image)
cmd.Parameters("@图片").Value = tp
cmd.Parameters.Add("@备注", SqlDbType.VarChar, 200)
cmd.Parameters("@备注").Value = bz
is_update = tp.Length
cmd.ExecuteNonQuery()
cn.Close()
End Sub
这是一个sql server 2005 clr中的一个存储过程,我的问题就是在ByVal tp As Byte()这个变量中,他
传输进来的只有8000字节, 如果不使用clr,我直接在sql server 中编辑一个存储过程,用image或者binary
变量来传输参数,是没有问题的,我就是相不明白,既然有sql server clr这种东西,怎么就没有相应的变量代替
image或binary?有人说用sqlBinary变量,我试过,也不行,也是8000字节.是不是要在哪里设置一下?
...全文
相关推荐
microsoft system clr types for sql server 2012
总结来说,Microsoft System CLR Types for SQL Server 2012是.NET开发者在利用SQL Server功能时不可或缺的组件,它为.NET应用程序与SQL Server
microsoft system clr types for sql server 2014
标题中的“microsoft system clr types for sql server 2014”是指Microsoft SQL Server 2014的系统公共语言运行库类型(System CLR
Microsoft System CLR Types for Microsoft SQL Server 2014
每个新版本的SQL Server可能会对CLR支持进行增强或改进,因此,使用与SQL Server版本匹配的CLR Types是确保兼容性和最佳性能的关键。
Microsoft® System CLR Types for Microsoft® SQL Server® 2012
Microsoft® System CLR Types for Microsoft® SQL Server® 2012SQL Server System CLR Types 包包含用于在 SQL Se
Microsoft System CLR Types For SQL Server 2012.rar
【标题】"Microsoft System CLR Types for SQL Server 2012"是微软为SQL Server 2012提供的一组组件,主要用于支持.NET Framework与SQL


疑难问题
