sql server clr 中疑问,请救我.

ruhong ruhong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请看代码
<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字节.是不是要在哪里设置一下?
...全文
评论 5
收藏 已收藏
分享
返回顶部
ruhong
疑难问题 22,298 成员 121,727 内容