2

我有一个在表中插入varchar&VARBINARY(MAX)值的存储过程。我将 ac# 传递byte[]给该varbinary(max)字段。我还看到 size 的byte[]大小是 80142,它满足varbinary. 存储过程执行没有任何错误。但是当我尝试查询该表时,我在varbinary数据类型中看到了空值。

SQL sp

 ALTER PROCEDURE [dbo].[Test] 
            -- Add the parameters for the stored procedure here
            @PNumber varchar(50)
            ,@Byte varbinary(max)
        AS
        BEGIN
            SET NOCOUNT ON;

            -- Insert statements for procedure here
            INSERT INTO [Test].[dbo].[Data]
                   ([PNumber]
                   ,[PByte])
             VALUES
                   (@PNumber
                   ,@Byte)
        END

C# 代码

byte[] theData = doc.GetData();

DAL_DataTableAdapters.QueriesTableAdapter qta = new DAL_DataTableAdapters.QueriesTableAdapter();

qta.Test("test", theData);

表结构:

CREATE TABLE [dbo].[Data]
(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [PNumber] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [PByte] [varbinary](max) NULL
) ON [PRIMARY]
4

1 回答 1

0

如何确定数据为空?我很确定 SQL Server Management Studio 不会显示太长的值(我不知道限制),即使该值存在。

于 2011-02-04T14:09:08.193 回答