出现如下错误:
E:\netStudy\FirstASPNETProgram\DataCaching.aspx.cs(49): 与“System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable)”最匹配的重载方法具有一些无效参数E:\netStudy\FirstASPNETProgram\DataCaching.aspx.cs(49): 参数“1” : 无法从“FirstASPNETProgram.DataSet”转换为“System.Data.DataTable”
请指教?DataCaching.aspx代码如下:<%@ Page language="c#" Codebehind="DataCaching.aspx.cs" AutoEventWireup="false" Inherits="FirstASPNETProgram.DataCaching" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>DataCaching</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<table>
<tr>
<td valign="top"><asp:DataGrid id="myDataGrid" runat="server" CssClass="Normal" AutoGenerateColumns="False" PageSize="6">
<AlternatingItemStyle BackColor="#C0FFC0"></AlternatingItemStyle>
<HeaderStyle BackColor="#FFC080"></HeaderStyle>
<Columns>

<asp:BoundColumn DataField="gk_name" HeaderText="gk_name"></asp:BoundColumn>
<asp:BoundColumn DataField="gk_pass" HeaderText="gk_pass"></asp:BoundColumn>
<asp:BoundColumn DataField="gk_hy" HeaderText="gk_hy"></asp:BoundColumn>
</Columns>
</asp:DataGrid></td>
</tr>
</table>
</form>
</body>
</HTML>代码如下:
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.SqlClient;namespace FirstASPNETProgram
{
/// <summary>
/// DataCaching 的摘要说明。
/// </summary>
public class DataCaching : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid myDataGrid;
private static String ConnectionString="Data Source=gk66-icfvgm6shv;uid=sa;pwd=gk66xuling;database=MyGk66Ms";

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
DataSet ds=new DataSet();
ds=(DataSet)Application["CacheData"];
if(ds==null)
{
ds=GetData();
Application.Lock();
Application["CacheData"]=ds;
Application.UnLock();
}
myDataGrid.DataSource=ds;
myDataGrid.DataBind();
}
}
private DataSet GetData()
{
SqlConnection myConnection = new SqlConnection(ConnectionString);
String cmdText = "Select top 20 *  from gkByUser";
SqlDataAdapter da = new SqlDataAdapter(cmdText,myConnection);
myConnection.Open(); DataSet ds = new DataSet();
da.Fill(ds);
myConnection.Close(); return(ds);
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}

解决方案 »

  1.   

    是不是DataSet自己重新定义了啊
      

  2.   

    protected System.Web.UI.WebControls.DataGrid myDataGrid;
    protected System.Web.UI.WebControls.Button btn_open;
    protected System.Web.UI.WebControls.Button btn_cfm;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Panel Panel1;
    private static String ConnectionString="Data Source=gk66-icfvgm6shv;uid=sa;pwd=gk66xuling;database=MyGk66Ms"; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!Page.IsPostBack)
    {
    DataTable dt=new DataTable();
    dt=(DataTable)Application["CacheData"];
    if(dt==null)
    {
    dt=GetData();
    Application.Lock();
    Application["CacheData"]=dt;
    Application.UnLock();
    }
    myDataGrid.DataSource=dt;
    myDataGrid.DataBind();
    }
    }
    private DataTable GetData()
    {
    SqlConnection myConnection = new SqlConnection(ConnectionString);
    String cmdText = "Select top 20 *  from gkByUser";
    SqlDataAdapter da = new SqlDataAdapter(cmdText,myConnection);
    myConnection.Open(); DataTable dt = new DataTable();
    da.Fill(dt);
    myConnection.Close(); return(dt);
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    } /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    试试