自从开始学习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.请各位高手帮小弟解决此难题。我是实在没招了,先谢了!
------解决方案--------------------------------------------------------
直接
DataView dataview = dataset.Tables[0].DefaultView; //错误1
不用new试试
------解决方案--------------------------------------------------------
public partial class DataView :==> 这个类名与Data.DataView重名,要么改名。要么声明变量时写全名称空间DataView dataview = new DataView();==> System.Data.DataView dataview = new .....