自从开始学习ASP.Net以来,我就遇到了最为奇怪的问题,困挠我几个月均为解,郁闷啊。
如下程序:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class DataView : System.Web.UI.Page
{
    private static String myConnectionString = "Data Source=.;database=CDB;uid=sa;pwd=;";    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection myConnection = new SqlConnection(myConnectionString);
        string cmdText = "Select RealName,Email,Address from users INNER JOIN UserConts ON Users.UserID=UserConts.UserID";
        SqlDataAdapter da = new SqlDataAdapter(cmdText, myConnection);
        da.SelectCommand.CommandType = CommandType.Text;
        myConnection.Open();
        DataSet dataset = new DataSet();
        da.Fill(dataset);
        myConnection.Close();
        DataView dataview = new DataView();
        dataview = dataset.Tables[0].DefaultView;  //错误1
        dataview.Sort = "RealName DESC";//错误2        dataview.RowFilter = "(Email LIKE 'w*') OR (Email LIKE 'z*')";//错误3        sortGridView.DataSource = dataview;
        sortGridView.DataBind();    }
}编译时报错:    
 错误1 无法将类型“System.Data.DataView”隐式转换为“DataView”
 错误2 “DataView”并不包含“Sort”的定义
 错误3 “DataView”并不包含“RowFilter”的定义真不知道出错在什么地方,查阅了相关资料,程序这么书写没什么错误, “DataView”明明是有“Sort”和“RowFilter”的定义的,可是为什么会这种提示呢。前段时间报DataSet没有Tables定义,有时重装VS后消失,有时不消失,现在重装VS和OS后倒是没报DataSet没有Tables定义错误,可是DataView未定义错误一直出现,挠人啊,在网上找了,别人那是程序写错了才出现此错,可是上面的程序有错吗?另外同样的程序在其他机子编译成功后,拷到本机编译成功,你说怪不怪?我的环境是Windows server 2003+VS2005+SQL server2005.请各位高手帮小弟解决此难题。我是实在没招了,先谢了!

解决方案 »

  1.   

    直接
    DataView dataview = dataset.Tables[0].DefaultView; //错误1不用new试试
      

  2.   

    “type”不包含“identifier”的定义的编译错误代码为CS0117
      

  3.   

    谢谢BearRui(AK-47) ,已经试过了,照样!
      

  4.   

    public partial class DataView : System.Web.UI.Page
    ---------------
    System.Data.DataView乱命名...
      

  5.   

    public partial class DataView :==>这个类名与Data.DataView重名,要么改名。要么声明变量时写全名称空间
    DataView dataview = new DataView();
    ==>
    System.Data.DataView dataview = new .....
      

  6.   

    还是慕白兄眼睛厉害,原来页面的类名和System.Data.DataView的类名冲突了。
      

  7.   

    已经解决,真是太感谢cpp2017(慕白兄)了,还是CSDN的高手多啊,要多学习!