代码如下,不知道什么原因编译后运行显示有一行错误。  
private  void  btnSubmit_Click(object  sender,  System.EventArgs  e)  
                       {  
                                   SqlConnection  objConnection=new  SqlConnection(strConnection);  
                                   SqlCommand  objCommand=new  SqlCommand("CustOrdersOrders",objConnection);  
                                   objCommand.CommandType=CommandType.StoredProcedure;  
 
                                   SqlParameter  objParameter=new  SqlParameter("@CustomerID",SqlDbType.NChar,5);  
                                   objCommand.Parameters.Add(objParameter);  
                                   objParameter.Direction=ParameterDirection.Input;  
                                   objParameter.Value=lbCustomers.SelectedItem.Value;//此处出现错误。  
 
                                   objConnection.Open();  
 
                                   dgOutput.DataSource=objCommand.ExecuteReader();  
                                   dgOutput.DataBind();  
 
                                   objConnection.Close();  
                       }  
 
错误显示提示:未将对象引用设置到对象的实例。

解决方案 »

  1.   

    一般都是控件的名称不对
    看看 lbCustomers这个id不对不呢?写错没有呢?
      

  2.   

    lbCustomers.SelectedItem.Value有可能为null
      

  3.   

    建议加上判断
    string selectID=lbCustomers.SelectedItem.Value
    if(selectID==null||selectID="")
    {
        return;
    }
      

  4.   

    objCommand.Parameters.Add(objParameter);  (1)
     objParameter.Direction=ParameterDirection.Input;  (2)
     objParameter.Value=lbCustomers.SelectedItem.Value--这句话你放到(1)语句前面看看
      

  5.   

    我在家用就好了。我家里的是vs2005。原来用的是vs2003。
    还是感谢大家的答复 。以下这个行不通的。没有定义怎么就可以先用了呢。
    objCommand.Parameters.Add(objParameter);    (1)  
     objParameter.Direction=ParameterDirection.Input;    (2)  
     objParameter.Value=lbCustomers.SelectedItem.Value--这句话你放到(1)语句前面看看