标题:System.NullReferenceException: 未将对象引用设置到对象的实例。
只看楼主
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
得分:0 
以下是引用bygg在2010-8-11 09:30:34的发言:

3楼和5楼不是说了吗?在前面加个判断就得了。
如果传过来的aid是空,就不做下面的处理,显示个错误啥的不就行了??
楼主好像提出第二个问题,跟原来的问题不一样了
2010-08-11 13:35
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
得分:0 
以下是引用bygg在2010-8-11 13:34:34的发言:

LS明显在乱说。
  有没有看到7楼的24行有个大括号,但是在楼主发贴原代码中没有,估计楼主的代码有改动过
楼主代码好像改成了这种形式
{ int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());   }
 string mysql = "SELECT * FROM admin WHERE (aid =" + straid + ")";
所以出现当前上下文中不存在名称“straid



[ 本帖最后由 烟雨袅袅 于 2010-8-11 13:43 编辑 ]
2010-08-11 13:37
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
看来楼主还真是对编程没了解,我给的代码是什么,自己都不带调整的……
再说Request.QueryString["aid"].ToString()用这个获取值,那么地址栏里有没有aid这个变量都是个问题。

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-08-11 14:19
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
得分:0 
报错:当前上下文中不存在名称“straid”
protected void Page_Load(object sender, EventArgs e)
    {
      
            string str = ConfigurationSettings.AppSettings["dsn"];
            SqlConnection cn = new SqlConnection(str);
            cn.Open();
            
            if (Request.QueryString["aid"] != null)
            {
                int straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
            }
            else
            {
                Response.Write("对不起,没有该人员信息");
                Response.End();
            }
            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();
            }

        }
这该怎么解决啊。我把判断加上了,不知道加的对不对啊。
2010-08-12 10:54
水晶心
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2010-7-27
得分:0 
本来就是菜鸟啊,对代码了解的是少,所以向各位高手请教啊。
2010-08-12 11:01
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
int straid
定义在if的上面.
程序代码:
int straid = 0;

 if (Request.QueryString["aid"] != null)
            {
                straid = Convert.ToInt32(Request.QueryString["aid"].ToString());
            }
            else
            {
                Response.Write("对不起,没有该人员信息");
                Response.End();
            }

你没看到别人的回复吗?

飘过~~
2010-08-12 11:28
zl40650194
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2007-1-1
得分:4 
你URL里面没传过“aid”这个参数,Request.QueryString["aid"]自然是空了修改你的转向URL,如:www.
2010-08-12 17:06
NewDeveloper
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:159
注 册:2010-7-2
得分:4 
我感觉应该是楼主直接运行这个网页了 所以导致这个错误  是应该加个NULL验证的
2010-08-13 15:33
谢成新
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-7-30
得分:0 
protected void Page_Load(object sender, EventArgs e)
        {

            if(!IsPostBack)
            {
               if(this.Request["option"]!=null)
               {
                   if (this.Request["option"] == "add")
                   {

                   }
                   else
                   {
                       this.BindBranchInfo();
                   }
               }
            }
        }


        private void BindBranchInfo()
        {
            string strsql = "select tb_branchId, tb_branchName,effective  from  t_Branch  where  tb_branchId= '" + this.Request["cCode"].ToString() + "'";
            DataTable dt = Db.GetDataTable(strsql);
            this.TBX_Branchcode.Text = dt.Rows[0]["tb_branchId"].ToString();
            this.TBX_Branchname.Text=dt.Rows[0]["tb_branchName"].ToString();
            this.DDL_effective.SelectedValue = dt.Rows[0]["effective"].ToString();
        }

        protected void Btn_Save_Click(object sender, EventArgs e)   //保存部门信息
        {
            if (this.TBX_Branchname.Text == "")
            {
                Response.Write("<script language=javascript>alert('您还没有填写部门名称!')</script>");
            }
            else

            {
                string str = "";
                if (this.Request["option"].ToString() == "add")
                {
                    str = "insert into t_Branch(tb_branchId,tb_branchName,effective) values('" +TBX_Branchcode.Text+ "','" + this.TBX_Branchname.Text + "','" + this.DDL_effective.SelectedValue+ "')";
                }
                else
                {
                    str = "update t_Branch  set tb_branchName='" + this.TBX_Branchname.Text + "' where  tb_branchId='"+this.Request["cCode"].ToString()+"'";
                }
               TowinCore.Db.ExecuteSQL(str);
                Cls_Message.ShowPageMessage("操作成功!", this.Page);
            }


        }
       if (this.Request["option"].ToString() == "add")这一行有错!
2013-07-30 10:17



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




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

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