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



浙公网安备 33010602011771号