读书人

大家快来看看这个,该如何解决

发布时间: 2012-01-07 21:41:55 作者: rapoo

大家快来看看这个,,,
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 92:
行 93: con.Close();
行 94: return (int)Messageid.Value;
行 95:
行 96: }


源文件: c:\inetpub\wwwroot\message\message.cs 行: 94

堆栈跟踪:


这是代码:::::> > > > > > > > > > >

public int AddMessage(string Titles,string Contents)
{
SqlConnection con = new SqlConnection(ConStr);
con.Open();
SqlCommand cmd = new SqlCommand( "AddMessage ",con);
cmd.CommandType = CommandType.StoredProcedure;

SqlParameter Title = new SqlParameter( "@Title ",SqlDbType.VarChar,250);
Title.Value =Titles;
cmd.Parameters.Add(Title);

SqlParameter Content = new SqlParameter( "@Content ",SqlDbType.VarChar,2000);
Content.Value = Contents;
cmd.Parameters.Add(Content);

SqlParameter Messageid = new SqlParameter( "@ID ",SqlDbType.Int,4);
Messageid.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(Messageid);

con.Close();
return (int)Messageid.Value;


这是存储过程::::::::::> > > > > > > > > >

CREATE PROCEDURE AddMessage
(
@Title varchar(250),
@Content varchar(5000) = NULL
)
AS

INSERT INTO
Message
(
Title,
Content,
Datetime
)
VALUES
(
@Title,
@Content,
GetDate()
)

RETURN @@Identity
GO





[解决办法]
这个异常 跟进去 一步一步看
看哪个实例的值为null
[解决办法]
先看看数据库中的数据。是否有空的


[解决办法]
怎么没有执行语句啊
[解决办法]
(int)Messageid.Value ==null问题出在这儿


[解决办法]
@Content varchar(5000) = NULL//既然赋值了,为什么要把它设置为null呢?

[解决办法]
问题楼上的都说了。我来晚了。
[解决办法]
lz你的ID是自增的吗,不是的话肯定会出错的,
[解决办法]
八成是没插入成功 所以那个返回值是null

如果插入成功了还不行
写成这样试试
cmd.Parameters[ "@id "].value

再或者 声明一个输出变量 output类型的 都可以实现

[解决办法]
都没有执行!

读书人网 >asp.net

热点推荐