string ConnStr=ConfigurationSettings.AppSettings["MC"];
SqlConnection Conn=new SqlConnection(ConnStr);   <---ConnStr错误没有这样声明的,放到函数private void GridBind()里去

解决方案 »

  1.   

    将这两句写在Page_Load里面试试
    string ConnStr=ConfigurationSettings.AppSettings["MC"];
    SqlConnection Conn=new SqlConnection(ConnStr);   <---ConnStr错误
      

  2.   

    哦,对了,应该写在GridBind()里面
      

  3.   

    如果你要这样声明这样写
    string ConnStr;
    protected System.Data.SqlClient.SqlConnection Conn;
    GridBind()里再创建对象
      

  4.   

    那底下的函数如果也用到数据库连接怎么办?
    将代码在写一遍?
    写在Page_Load里面找不到conn
      

  5.   

    假如放到GridBind()里 那DataGrid2_Update函数里是不是要再写一遍?
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace office
    { public class meet_manage : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid2;

    private void Page_Load(object sender, System.EventArgs e)
    {
              String ConnStr=ConfigurationSettings.AppSettings["MC"];
      SqlConnection Conn=new SqlConnection(ConnStr);
    if(!IsPostBack)
    {
    GridBind();
    }
    }
    private void GridBind()
    {

    String SQL="Select * from meeting";

    DataSet ds=new DataSet();
    SqlDataAdapter Adapter=new SqlDataAdapter(SQL,Conn);
    Adapter.Fill(ds,"meeting");
    DataGrid2.DataSource=ds.Tables["meeting"].DefaultView;
    DataGrid2.DataBind();
    } private void InitializeComponent()
    {
    this.DataGrid2.SelectedIndexChanged += new System.EventHandler(this.DataGrid2_SelectedIndexChanged);
    this.Load += new System.EventHandler(this.Page_Load); }

    public void DataGrid2_Page(object sender,DataGridPageChangedEventArgs e)
    {
    DataGrid2.CurrentPageIndex=e.NewPageIndex;
    GridBind(); } public void DataGrid2_Edit(object sender, DataGridCommandEventArgs e)
    {
    DataGrid2.EditItemIndex=(int)e.Item.ItemIndex;
            GridBind();
    }
    public void DataGrid2_Cancel(object sender, DataGridCommandEventArgs e)
    {
    DataGrid2.EditItemIndex=-1;
    GridBind();
    }
    public void DataGrid2_Update(object sender, DataGridCommandEventArgs e)
    {
      String updatecmd = "UPDATE meeting SET master=@master,topic=@topic,mdate=@mdate,address=@address,joiner=@joiner,department=@department,content=@content";
      SqlCommand cmd = new SqlCommand(updatecmd,Conn);
        cmd.Parameters.Add(new SqlParameter("@meetingno",SqlDbType.Int,4));
                cmd.Parameters.Add(new SqlParameter("@master",SqlDbType.NVarChar,40));
                cmd.Parameters.Add(new SqlParameter("@topic",SqlDbType.NVarChar,40));
                cmd.Parameters.Add(new SqlParameter("@mdate",SqlDbType.NVarChar,40));
        cmd.Parameters.Add(new SqlParameter("@address",SqlDbType.NVarChar,40));
                cmd.Parameters.Add(new SqlParameter("@joiner",SqlDbType.NVarChar,40));
            cmd.Parameters.Add(new SqlParameter("@department",SqlDbType.NVarChar,40));
        cmd.Parameters.Add(new SqlParameter("@content",SqlDbType.NVarChar,400));
                cmd.Parameters["@meetingno"].Value = DataGrid2.DataKeys[(int)e.Item.ItemIndex];
          String [] cols = {"@master","@topic","@mdate","@address","@joiner","@department","@content"};
    int numcols = e.Item.Cells.Count;
    for (int i=1;i<numcols-1;i++)
    {
     String colvalue=((TextBox)e.Item.Cells[i].Controls[0]).Text;
     cmd.Parameters[cols[i-1]].Value=colvalue;
    }
                 cmd.Connection.Open();
    try
    {
    cmd.ExecuteNonQuery();
    Message.InnerHtml="<b>记录更新成功</b><br>";
    MyDataGrid.EditItemIndex=-1;
    }
    catch (SqlException e)
    {
    Message.InnerHtml="<b>记录更新失败/b><br>";
    }
                cmd.Connection.Close();
                GridBind();

    }
    public void DataGrid2_Delete(object sender, DataGridCommandEventArgs e)
    {
    String deletecmd="DELETE from meeting where meetingno=@meetingno";
              SqlCommand cmd = new SqlCommand(deletecmd,Conn);
              cmd.Parameters.Add(new SqlParameter("@meetingno",SqlDbType.Int,4));
              cmd.Parameters["@meetingno"].Value = DataGrid2.DataKeys[(int)e.Item.ItemIndex];
    cmd.Connection.Open();
    try
    {
    cmd.ExecuteNonQuery();
    Message.InnerHtml="<b>记录删除成功</b><br>";

    }
    catch (SqlException e)
    {
    Message.InnerHtml="<b>记录删除失败/b><br>";
    }
    cmd.Connection.Close();
    GridBind();

    } }
    }
      

  6.   

    System.Data.SqlClient.SqlConnection Conn;
    用的时候只要创建对象就行了,
     Conn=new SqlConnection(ConnStr);   就可以使用Conn了
      

  7.   

    那这一行改吗?
    string ConnStr=ConfigurationSettings.AppSettings["MC"];