qq_29581167 2015-07-10 11:56 采纳率: 100%
浏览 2703
已采纳

其他信息: 未将对象引用设置到对象的实例。

想要用代码来编辑gridview控件的数据;然而我运行时告诉我“其他信息: 未将对象引用设置到对象的实例。”求教各位大神,该怎么改,最好有代码;下面就是我的代码,不重要的收起来了;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.Collections;

public partial class liuyanban : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label2.Text = "当前在线人数为" + Application["count"].ToString() + "人";
Label2.Text = Session["UserID"].ToString();
if (!IsPostBack)
{
this.bind();
}

}
public SqlConnection GetConnection()
{
string myStr = ConfigurationManager.AppSettings["talkroomConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}

protected void bind()
{
    SqlConnection myConn = GetConnection();
    myConn.Open();
    string sqlStr = "select * from liaotian ";
    SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
    DataSet myDs = new DataSet();
    myDa.Fill(myDs);
    GridView1.DataSource = myDs;
    GridView1.DataKeyNames = new string[] { "ID" };
    GridView1.DataBind();
    myDa.Dispose();
    myDs.Dispose();
    myConn.Close();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    this.bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int ClassID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
    string CName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
    string sqlStr = "update liaotian set 用户名'" + CName + "' where ID=" + ClassID;
    SqlConnection myConn = GetConnection();
    myConn.Open();
    SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
    myCmd.ExecuteNonQuery();
    myCmd.Dispose();
    myConn.Close();
    GridView1.EditIndex = -1;
    this.bind();
}
protected void Button_send_Click(object sender, EventArgs e)
{

    string took = TextBox1.Text;
    string connString = System.Configuration.ConfigurationManager.ConnectionStrings["talkroomConnectionString"].ConnectionString;
    SqlConnection myConn = new SqlConnection(connString);
    string sqlStr = " insert into liaotian(用户名,时间,内容) values('" + Session["UserID"].ToString() + "','" + System.DateTime.Now.ToString() + "','" + TextBox1.Text .ToString() + "') ";
    SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
    myConn.Open();
    myCmd.ExecuteNonQuery();
    myConn.Close();
    TextBox1.Text = " ";
    GridView1.DataBind ();
}


protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    GridView1.EditIndex = -1;
    this.bind();
}
protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection sqlCon = new SqlConnection();
    sqlCon.ConnectionString = "server=PC201503061527;uid=sa;pwd=sa;database=talkroom";
    sqlCon.Open();
    string sql = string.Format("select * from liaotian where 用户名='{0}' ", Session["UserID"].ToString());
    try
    {
        SqlCommand cmd = new SqlCommand(sql, sqlCon);
        SqlDataAdapter da = new SqlDataAdapter(sql, sqlCon);

        DataSet dadaset = new DataSet("liaotian");
        da.Fill(dadaset);
        this.GridView1.DataSourceID = null;
        GridView1.DataSource = dadaset.Tables[0];
        GridView1.DataBind();

    }
    catch
    { 

    }
}

}![图片说明](https://img-ask.csdn.net/upload/201507/10/1436529438_407413.png)图片说明

  • 写回答

5条回答

  • Go 旅城通票 2015-07-10 13:06
    关注

    那句报错?用到session或者application对象时最好判断下所读取的键是否存在,要不程序池回收会导致session和application被释放,在调用ToString就报错了

     if(Application["count"]!=null)Label2.Text = "当前在线人数为" + Application["count"].ToString() + "人";
    if( Session["UserID"]!=null)Label2.Text = Session["UserID"].ToString();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!