标题:System.NullReferenceException: 未将对象引用设置到对象的实例。
只看楼主
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
结帖率:80%
已结贴  问题点数:20 回复次数:18 
System.NullReferenceException: 未将对象引用设置到对象的实例。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class adminmofiy : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
            string str = ConfigurationSettings.AppSettings["dsn"];
            SqlConnection cn = new SqlConnection(str);
            cn.Open();
          int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
            string mysql = "SELECT * FROM admin WHERE (aid =" + straid + ")";
            // SELECT * FROM Goods WHERE (GID = '10001')
            SqlCommand cm = new SqlCommand(mysql, cn);
            // = CommandType.StoredProcedure;
            //cm.Parameters.Add("@GID", SqlDbType.Int);
            //cm.Parameters["@GID"].Value = Convert.ToInt32(Request.QueryString["gid"].ToString());
            SqlDataReader dr = cm.ExecuteReader();
            if (dr.Read())
            {
               lbl_aid.Text = dr["aid"].ToString();
                T_aname.Text = dr["aname"].ToString();
                T_apassword.Text = dr["apassword"].ToString();
                T_apower.Text = dr["apower"].ToString();
                T_adep.Text = dr["adep"].ToString();
               
            }
            else
            {
                Response.Write("对不起,没有该人员信息");
                Response.End();
            }

        }
int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());这一行报错
搜索更多相关主题的帖子: 实例 System 对象 
2010-08-10 11:23
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
得分:4 
查看网页的地址栏,看看地址里有没有   ?aid=5 之类的
2010-08-10 12:35
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:4 
Request.QueryString["aid"] 确定这个不是空的吗?

飘过~~
2010-08-10 13:18
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
得分:0 
我试试
2010-08-10 15:09
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:4 
if (Request.QueryString["aid"] != null)
{
    int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
}
首先做一下是否为null的判断,记得再判断下值是否是数字,这些判断很重要,如果不符合要求,就不要执行代码

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-08-10 15:54
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
得分:0 
aid 好像是空的,怎么办啊,是不是数据库连接有问题
2010-08-11 09:15
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
得分:0 
数据库连接没有问题我试过了。
当前上下文中不存在名称“straid”
 int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
行 24:             }
行 25:             string mysql = "SELECT * FROM admin WHERE (aid =" + straid + ")";
行 26:             // SELECT * FROM Goods WHERE (GID = '10001')
行 27:             SqlCommand cm = new SqlCommand(mysql, cn);
怎么回事啊,不太明白,高手帮帮吧
2010-08-11 09:25
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
3楼和5楼不是说了吗?在前面加个判断就得了。
如果传过来的aid是空,就不做下面的处理,显示个错误啥的不就行了??

飘过~~
2010-08-11 09:30
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
得分:0 
int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
行 24:             }

从24行的 } 来看,估计straid是个局部变量,它的作用范围太小,不能被 string mysql = "SELECT * FROM admin WHERE (aid =" + straid + ")";引用
2010-08-11 13:32
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
LS明显在乱说。

飘过~~
2010-08-11 13:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-315299-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.182068 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved