程序全文
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
namespace asptest
{
/// <summary>
/// dataedittest 的摘要说明。
/// </summary>
public class dataedittest : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid score;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//连接数据库的字符串。
string myconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dat/dkblog.mdb";
OleDbConnection zmconn=new OleDbConnection(myconn);
zmconn.Open();
if(!Page.IsPostBack )
{
BindGrid();

            } }
Connection CreateTable()
{
string zmselect="select * from lm";
DataSet zmdatelist=new DataSet();
OleDbDataAdapter zmAdapter=new OleDbDataAdapter(zmselect,zmconn);
zmAdapter.Fill(zmdatelist,"lm");
return zmdatelist.Tables["lm"].DefaultView;
} public void BindGrid()
{
score.DataSource=CreateTable();
score.DataBind(); }
//处理Edit命令 #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.score.SelectedIndexChanged += new System.EventHandler(this.score_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion public void DataGrid_EditCommand(object sender,DataGridCommandEventArgs e)
{
score.EditItemIndex =(int)e.Item.ItemIndex ;
BindGrid();
}

//处理Cancal命令
public void DataGrid_CancelCommand(object sender,DataGridCommandEventArgs e)
{
score.EditItemIndex=-1;
BindGrid();
} //处理Update命令
public void DataGrid_UpdateCommand(object sender,DataGridCommandEventArgs e)
{
int lmid=e.Item.Cells[1].Text ;//序号
string lm=e.Item.Cells[2].Text;//栏目名称 string strUpdate="update lm set lm='"& lm &"' where lmid="+(int)lmid+"";
OleDbCommand zmcommand=new OleDbCommand();
zmcommand.ExecuteNonQuery(); score.EditItemIndex=-1;
BindGrid(); }
}
}上面程序中的:
IConnection CreateTable()
{
string zmselect="select * from lm";
DataSet zmdatelist=new DataSet();
OleDbDataAdapter zmAdapter=new OleDbDataAdapter(zmselect,zmconn);
zmAdapter.Fill(zmdatelist,"lm");
return zmdatelist.Tables["lm"].DefaultView;
}这一段不明白,也调试不通,老是提示找不到类名或命名空间IConnection。
请高手给于指点。

解决方案 »

  1.   

    将zmconn定义到Page_Load函数外面!
    如:
    OleDbConnection zmconn;
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    //连接数据库的字符串。
    string myconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dat/dkblog.mdb";
    zmconn=new OleDbConnection(myconn);
    zmconn.Open();
    if(!Page.IsPostBack )
    {
    BindGrid();

                }
      

  2.   

    你的返回类型是IConnection?这是一个接口???
      

  3.   


    把这个直接放到Page_Load里面:
    如果有问题应该就是连接字符串的问题了
    string myconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dat/dkblog.mdb";
    OleDbConnection zmconn=new OleDbConnection(myconn);if(!Page.IsPostBack )
    {
    string zmselect="select * from lm";
    DataSet zmdatelist=new DataSet();
    OleDbDataAdapter zmAdapter=new OleDbDataAdapter(zmselect,zmconn);
    zmAdapter.Fill(zmdatelist,"lm");
    score.DataSource= zmdatelist.Tables["lm"].DefaultView;
    score.DataBind();           
    }
      

  4.   

    这个IConnection接口应该是在别处定义的,你看看有没有添加它的引用和命名空间
      

  5.   

    IConnection  返回的是一个接口类型。实现你的松藕合. 你可以看一下这个IConnection定义在哪里