存储过程的参数默认值如果有填的话,在.net里面不写这个参数的SqlParameter,直接使用的是他在存储过程的默认值存储,但是如果该参数没有默认值的话,在.net代码里面一定要写对应的SqlParameter,否则会出错。
如存储过程sp_insert_info
ALTER PROCEDURE dbo.sp_insert_info
@info_id int output,
@info_citycode nvarchar(50),
@info_areacode nvarchar(50),
@info_gqlxid int,
@info_gqlbid int,
@info_price nvarchar(50)='哈哈',
@info_title nvarchar(50),
@info_content nvarchar(1000),
cs代码写里面
SqlParameter[] parameters = {
new SqlParameter("@info_id", SqlDbType.Int,4),
new SqlParameter("@info_citycode", SqlDbType.NVarChar,50),
new SqlParameter("@info_areacode", SqlDbType.NVarChar,50),
new SqlParameter("@info_gqlxid", SqlDbType.Int,4),
new SqlParameter("@info_gqlbid", SqlDbType.Int,4),
new SqlParameter("@info_title", SqlDbType.NVarChar,50),
new SqlParameter("@info_content", SqlDbType.NVarChar,1000)};
parameters[0].Direction = ParameterDirection.Output;
parameters[1].Value = model.info_citycode;
parameters[2].Value = model.info_areacode;
parameters[3].Value = model.info_gqlxid;
parameters[4].Value = model.info_gqlbid;
parameters[5].Value = model.info_title;
parameters[6].Value = model.info_content;
完成可以执行,参数info_price的值为存储过程中的默认值(即:'哈哈')