存储过程如下:
CREATE proc SP_Ext_AddDocument
@ClassID int,
@DocTitle As varchar(300),
@DocContent As ntext,
@DocApprover As varchar(300),
@DocApproveDate As varchar(20),
@DocApproved As int,
@DocType As Int,
@DocAttribute As int,
@DocAddedBy As varchar(300),
@DocAddedDate As Datetime,
@CurrentDocID [int] OUTPUT.cs代码如下:
// data.MakeInParam("@ClassID", SqlDbType.Int, 20, docbody.DocClassID),
// data.MakeInParam("@DocTitle", SqlDbType.NVarChar, 300, docbody.DocTitle),
//data.MakeInParam("@DocContent",SqlDbType.NVarChar, 5000,docbody.DocContent),
//data.MakeInParam("@DocApprover", SqlDbType.NVarChar,200, docbody.DocApprover),
//data.MakeInParam("@DocApproveDate", SqlDbType.NVarChar, 20, docbody.DocApproveDate),
// data.MakeInParam("@DocApproved", SqlDbType.Int, 1, docbody.DocApproved),
data.MakeInParam("@DocType", SqlDbType.Int, 2, docbody.DocType),
data.MakeInParam("@DocAttribute", SqlDbType.Int , 2, docbody.DocAttribute),data.MakeInParam("@DocAddedBy", SqlDbType.NVarChar, 300, docbody.DocAddedBy),
//data.MakeInParam("@DocAddedDate", SqlDbType.DateTime, 300,DateTime.Parse(docbody.DocAddedDate)),
//data.MakeOutParam("@CurrentDocID", SqlDbType.Int, 2) 错误提示:
异常详细信息: System.Data.SqlClient.SqlException: 当前命令发生了严重错误。应放弃任何可能产生的结果。源错误:
行 35: public int RunProc(string procName, SqlParameter[] prams) {
行 36: SqlCommand cmd = CreateCommand(procName, prams);
行 37: cmd.ExecuteNonQuery();
行 38: this.Close();
行 39: return (int)cmd.Parameters["ReturnValue"].Value;
源文件: E:\Aim-OA\UDS\Components\Database.cs 行: 37 堆栈跟踪:
[SqlException: 当前命令发生了严重错误。应放弃任何可能产生的结果。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +723
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +196
UDS.Components.Database.RunProc(String procName, SqlParameter[] prams) in E:\Aim-OA\UDS\Components\Database.cs:37
UDS.Components.DocumentClass.AddDocBody(DocBody docbody) in E:\Aim-OA\UDS\Components\Document.cs:135[Exception: 文档正文增加错误!]
UDS.Components.DocumentClass.AddDocBody(DocBody docbody) in E:\Aim-OA\UDS\Components\Document.cs:145
UDS.SubModule.UnitiveDocument.Document.DeliverDocument.btnSubmit_Click(Object sender, EventArgs e) in E:\Aim-OA\UDS\SubModule\UnitiveDocument\Document\DeliverDocument.aspx.cs:210
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
我感觉是因为参数传递的问题,不知道如何修改呢?问题到底在哪里呢?
CREATE proc SP_Ext_AddDocument
@ClassID int,
@DocTitle As varchar(300),
@DocContent As ntext,
@DocApprover As varchar(300),
@DocApproveDate As varchar(20),
@DocApproved As int,
@DocType As Int,
@DocAttribute As int,
@DocAddedBy As varchar(300),
@DocAddedDate As Datetime,
@CurrentDocID [int] OUTPUT.cs代码如下:
// data.MakeInParam("@ClassID", SqlDbType.Int, 20, docbody.DocClassID),
// data.MakeInParam("@DocTitle", SqlDbType.NVarChar, 300, docbody.DocTitle),
//data.MakeInParam("@DocContent",SqlDbType.NVarChar, 5000,docbody.DocContent),
//data.MakeInParam("@DocApprover", SqlDbType.NVarChar,200, docbody.DocApprover),
//data.MakeInParam("@DocApproveDate", SqlDbType.NVarChar, 20, docbody.DocApproveDate),
// data.MakeInParam("@DocApproved", SqlDbType.Int, 1, docbody.DocApproved),
data.MakeInParam("@DocType", SqlDbType.Int, 2, docbody.DocType),
data.MakeInParam("@DocAttribute", SqlDbType.Int , 2, docbody.DocAttribute),data.MakeInParam("@DocAddedBy", SqlDbType.NVarChar, 300, docbody.DocAddedBy),
//data.MakeInParam("@DocAddedDate", SqlDbType.DateTime, 300,DateTime.Parse(docbody.DocAddedDate)),
//data.MakeOutParam("@CurrentDocID", SqlDbType.Int, 2) 错误提示:
异常详细信息: System.Data.SqlClient.SqlException: 当前命令发生了严重错误。应放弃任何可能产生的结果。源错误:
行 35: public int RunProc(string procName, SqlParameter[] prams) {
行 36: SqlCommand cmd = CreateCommand(procName, prams);
行 37: cmd.ExecuteNonQuery();
行 38: this.Close();
行 39: return (int)cmd.Parameters["ReturnValue"].Value;
源文件: E:\Aim-OA\UDS\Components\Database.cs 行: 37 堆栈跟踪:
[SqlException: 当前命令发生了严重错误。应放弃任何可能产生的结果。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +723
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +196
UDS.Components.Database.RunProc(String procName, SqlParameter[] prams) in E:\Aim-OA\UDS\Components\Database.cs:37
UDS.Components.DocumentClass.AddDocBody(DocBody docbody) in E:\Aim-OA\UDS\Components\Document.cs:135[Exception: 文档正文增加错误!]
UDS.Components.DocumentClass.AddDocBody(DocBody docbody) in E:\Aim-OA\UDS\Components\Document.cs:145
UDS.SubModule.UnitiveDocument.Document.DeliverDocument.btnSubmit_Click(Object sender, EventArgs e) in E:\Aim-OA\UDS\SubModule\UnitiveDocument\Document\DeliverDocument.aspx.cs:210
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
我感觉是因为参数传递的问题,不知道如何修改呢?问题到底在哪里呢?
data.MakeInParam("@DocTitle", SqlDbType.VarChar, 300, docbody.DocTitle),
data.MakeInParam("@DocContent",SqlDbType.ntext, 5000,docbody.DocContent),
data.MakeInParam("@DocApprover", SqlDbType.VarChar,300, docbody.DocApprover),
data.MakeInParam("@DocApproveDate", SqlDbType.VarChar, 20, docbody.DocApproveDate),
data.MakeInParam("@DocApproved", SqlDbType.Int, 1, docbody.DocApproved),
data.MakeInParam("@DocType", SqlDbType.Int, 2, docbody.DocType),
data.MakeInParam("@DocAttribute", SqlDbType.Int , 2, docbody.DocAttribute),
data.MakeInParam("@DocAddedBy", SqlDbType.VarChar, 300, docbody.DocAddedBy),
data.MakeInParam("@DocAddedDate", SqlDbType.DateTime, 300,DateTime.Parse(docbody.DocAddedDate)),
data.MakeOutParam("@CurrentDocID", SqlDbType.Int, 2)