namespace DAL
{
public class dal_info_insert
{
public int addadminInfo(Info admin)
{
SqlParameter[] par = SqlHelper.GetCachedParameters("proc_insert_admin");
if (par == null)
{
par = new SqlParameter[] { new SqlParameter ("@tName",SqlDbType .VarChar ,50),new SqlParameter ("@tDescription",SqlDbType .VarChar ,max),new SqlParameter ("@ret",SqlDbType .Int)};
SqlHelper.CacheParameters("proc_insert_admin",par );
}
par[0].Value = admin.aname;
par[1].Value = admin.PassWord;
par[2].Direction = ParameterDirection.Output;
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "proc_insert_admin", par);
return Convert.ToInt32(par [2].Value );
}
}
}
如果字段的大小varchar(max)时,new SqlParameter("@tDescription", SqlDbType.VarChar, max)提示max处错误,请问用什么替代?
------解决方案--------------------------------------------------------
cmd.Parameters.Add("@a", SqlDbType.VarChar).Value =“”
SqlDbType.NVarChar, -1);
------解决方案--------------------------------------------------------
给楼上那些说4000、8000的人纠正下,varchar(MAX)或nvarchar(MAX),注意是MAX,绝不是你们所认为的nvarchar的最大长度,如果你定义的字段类型确为varchar(max)或nvarchar(max),写上长度,那就是-1,没二话,否则像他们所说的4000、8000,超出这个字符,提交到数据库岂不是截断,哪里符合nvarchar(MAX)所应有的长度!