向存储过程传递的参数的大小有限制??
存储过程如下:
CREATE PROCEDURE tbl_addnewsendtaskplan
@creator varchar(20),
@orgaddr varchar(36),
@sm_content varchar(600),
@destaddr varchar(8000),
@plantime datetime
AS
insert into tbl_SmSendTaskPlan(Creator,OrgAddr,PlanSendTime,DestAddr,SM_Content,TaskState)
values(@creator,@orgaddr,@plantime,@destaddr,@sm_content,0)
GO
tbl_SmSendTaskPlan表的定义如下:
ID int 4 0
Creator varchar 20 0
OrgAddr varchar 36 0
PlanSendTime datetime 8 0
DestAddr varchar 8000 0
SM_Content varchar 600 0
TaskState int 4 0
用c#写的调用存储过程的代码如下:
ThisConnection.Open();
SqlCommand ThisCommand = ThisConnection.CreateCommand();
ThisCommand.CommandText = "tbl_addnewsendtaskplan";
ThisCommand.CommandType = System.Data.CommandType.StoredProcedure;
ThisCommand.Parameters.Add(new SqlParameter("@creator", System.Data.SqlDbType.VarChar));
ThisCommand.Parameters.Add(new SqlParameter("@orgaddr", System.Data.SqlDbType.VarChar));
ThisCommand.Parameters.Add(new SqlParameter("@destaddr", System.Data.SqlDbType.VarChar));
ThisCommand.Parameters.Add(new SqlParameter("@plantime", System.Data.SqlDbType.DateTime));
ThisCommand.Parameters.Add(new SqlParameter("@sm_content", System.Data.SqlDbType.VarChar));
ThisCommand.Parameters["@creator"].Value = creator;
ThisCommand.Parameters["@orgaddr"].Value = orgaddr;
ThisCommand.Parameters["@plantime"].Value = timeplan;
ThisCommand.Parameters["@destaddr"].Value =destaddr[i];
ThisCommand.Parameters["@sm_content"].Value = content;
SqlDataReader ThisReader = ThisCommand.ExecuteReader();
ThisReader.Close();
ThisConnection.Close();
问题是:当destaddr[i]的长度超过800多的时候,就写不进数据库了,在这一字段数据库什么都没有显示。难道向存储过程传递参数的长度有限制不成?