首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

未将对象引用设置到对象的实例!待

2011-12-28 
未将对象引用设置到对象的实例!在线等待添加数据到sqlserver表内错误定位在行47“/myweb”应用程序中的服务

未将对象引用设置到对象的实例!在线等待
添加数据到sql   server   表内
错误定位在行47
“/myweb”应用程序中的服务器错误。
--------------------------------------------

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

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

源错误:  


行   45:                   Dim   bumen   As   String
行   46:                   bumen   =   Request.QueryString( "bumeid ")
行   47:                   bumen   =   bumen.Substring(bumen.Length()   -   2,   3)
行   48:                   Dim   bumeid   As   Integer
行   49:                   bumeid   =   CInt(bumen)
 

代码如下:
Imports   System.Data.SqlClient
Public   Class   RecordAdd
        Inherits   System.Web.UI.Page

#Region   "   Web   窗体设计器生成的代码   "

        '该调用是   Web   窗体设计器所必需的。
        <System.Diagnostics.DebuggerStepThrough()>   Private   Sub   InitializeComponent()

        End   Sub
        Protected   WithEvents   Label1   As   System.Web.UI.WebControls.Label
        Protected   WithEvents   Label2   As   System.Web.UI.WebControls.Label
        Protected   WithEvents   xing   As   System.Web.UI.WebControls.Label
        Protected   WithEvents   Label5   As   System.Web.UI.WebControls.Label
        Protected   WithEvents   TextName   As   System.Web.UI.WebControls.TextBox
        Protected   WithEvents   TextWangye   As   System.Web.UI.WebControls.TextBox
        Protected   WithEvents   TextXingbie   As   System.Web.UI.WebControls.TextBox
        Protected   WithEvents   TextXueli   As   System.Web.UI.WebControls.TextBox
        Protected   WithEvents   Button1   As   System.Web.UI.WebControls.Button
        Protected   WithEvents   FONT1   As   System.Web.UI.HtmlControls.HtmlGenericControl
        Protected   WithEvents   Label3   As   System.Web.UI.WebControls.Label
        Protected   WithEvents   Textbumen   As   System.Web.UI.WebControls.TextBox

        '注意:   以下占位符声明是   Web   窗体设计器所必需的。
        '不要删除或移动它。
        Private   designerPlaceholderDeclaration   As   System.Object

        Private   Sub   Page_Init(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Init
                'CODEGEN:   此方法调用是   Web   窗体设计器所必需的
                '不要使用代码编辑器修改它。
                InitializeComponent()


        End   Sub

#End   Region

        Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load
                '在此处放置初始化页的用户代码
        End   Sub

        Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click
                Dim   conn   As   New   SqlConnection
                conn.ConnectionString   =   "server=(local);database=test;user   Id=sa;password=; "
                'conn.ConnectionString   =   ConfigurationSettings.AppSettings( "DBConnstr ")
                Dim   sqladd   As   String
                Dim   bumen   As   String
                bumen   =   Request.QueryString( "bumeid ")
                bumen   =   bumen.Substring(bumen.Length()   -   2,   3)
                Dim   bumeid   As   Integer
                bumeid   =   CInt(bumen)
                If   bumeid   =   0   Then
                        bumeid   =   1
                End   If
                sqladd   =   "insert   into   person(name,xueli,xingbie,wangye,bumenid)   values( ' "   &   TextName.Text   &   " ', ' "   &   TextXueli.Text   &   " ', ' "   &   TextXingbie.Text   &   " ', ' "   &   TextWangye.Text   &   " ', "   &   Textbumen.Text   &   ") "

                conn.Open()
                Dim   addcmd   As   New   SqlCommand(sqladd,   conn)
                addcmd.ExecuteNonQuery()
                conn.Close()
                Dim   redirect   As   String
                redirect   =   " <script   language= 'javascript '> window.opener.location= 'display.aspx?bmid= "   &   Request.QueryString( "bmid ")   &   " ';window.close(); </script> "
                '   redirect   =   " <script   language= 'javascript '> window.opener.location= 'display.aspx;window.close(); </script> "
                Response.Write(redirect)
        End   Sub


End   Class


[解决办法]
bumen = bumen.Substring(bumen.Length() - 2, 3)
不知道VB中是不是Length后还需要()括号,C#中没有


redirect = " <script language= 'javascript '> window.opener.location= 'display.aspx?bmid= " & Request.QueryString( "bmid ") & " ';window.close(); </script> "

不知道你传递的变量名是 bmid 还是 bumeid 。。。。

如果错误代码那地方要接收的值是redirect这句话传递的变量的话,那么,

Dim bumen As String
行 46: bumen = Request.QueryString( "bumeid ")
行 47: bumen = bumen.Substring(bumen.Length() - 2, 3)
行 48: Dim bumeid As Integer
行 49: bumeid = CInt(bumen)

应该改为:

Dim bumen As String
行 46: bumen = Request.QueryString( "bmid ")
行 47: bumen = bumen.Substring(bumen.Length() - 2, 3)
行 48: Dim bumeid As Integer
行 49: bumeid = CInt(bumen)

[解决办法]
应该先判断 bumen 是否为空
bumen = Request.QueryString( "bmid ")
If Not String.IsEmptyOrNull(bumen) Then
bumen = bumen.Substring(bumen.Length() - 2, 3)
End If

[解决办法]
如无意外 Request.QueryString( "bmid ") 没得到值
[解决办法]
加上这一句在执行你的代码。
if(Request.QueryString( "bumeid ")!=null){
bumen = Request.QueryString( "bumeid ")
bumen = bumen.Substring(bumen.Length() - 2, 3)

}

请你转换成vb.net。我用的是c#。net。
[解决办法]
在调用那个为实例化对象之前,你可以先判断是是不是为null,你这种情况应该是这样的

热点排行