SQL SERVER的VARCHAR类型在定义时一定要加位数!
今天在公司学微软企业库的Data Access Application Block,
写了一个存储过程(本小菜N年不写存储过程)结果调试时怎么都返回空行.柏丝不得其解后来才发现了问题所在!
存储过程伪代码如下
CREATE PROCEDURE [dbo].[someProc]( @Parameter1 VARCHAR ) AS BEGIN SELECT * FROM [table1] WHERE [Field1]=@Parameter1 END
然后加上
PRINT @Parameter1在内部
才发现默认定义VARCHAR类型的变量时是一个字符
把参数定义为@Parameter1 VARCHAR(50)
哎!还好找到了问题,害我在.NET那端调了一段时间!
CREATE PROCEDURE [dbo].[someProc]( @Parameter1 VARCHAR(50) ) AS BEGIN --(debug)PRINT @Parameter1 SELECT * FROM [table1] WHERE [Field1]=@Parameter1 END