SQL Server VARBINARY(MAX)

时间:2011-02-03 15:31:27

标签: c# sql sql-server tsql strongly-typed-dataset

我有一个插入varchar&的存储过程。表中的VARBINARY(MAX)值。 我将c#byte[]传递给varbinary(max)字段。我还看到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#CODE

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]

1 个答案:

答案 0 :(得分:0)

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