using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OracleClient;namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected OracleConnection conn = new OracleConnection ();
        protected OracleCommand cmd = new OracleCommand();
        //object a;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//"Data Source=orcl;User ID=lingbo;Password=zhuzhuzhu;Unicode=True";
                string sqlcmd = "SELECT * FROM lb";
                conn.ConnectionString = connstr;
                conn.Open ();
                Response.Write("数据库连接成功");
                OracleDataAdapter adp = new OracleDataAdapter(sqlcmd, conn);
                DataSet myds = new DataSet() ;
                adp.Fill(myds, "lb");
                //a = myds.Tables["lb"].Rows[1]["lastname"];
               //GridView1.Rows[0].Cells[0].Text = myds.Tables["lb"].Rows[0]["id"].ToString;
                GridView1.DataSource = myds.Tables["lb"].DefaultView;
                GridView1.DataBind();
                
            }
            catch (Exception exp)
            {
                Response.Write("/n/r无法建立数据连接:" + exp.Message);
                conn.Close();
            }
            finally
            {
                if (conn != null && conn.State  != ConnectionState.Closed)
                conn.Close();
            }
        }
    }
}

解决方案 »

  1.   

    有啊有啊
    我见表的时候填入数据的,而且通过cmd可以看到。没问题
      

  2.   

    我又发现个问题,即便我不运行程序,只在设计界面有机Gridview1,点击“在浏览器中显示”,依然看不到它
      

  3.   

    GridView1.DataSource = myds;GridView1.DataBind();
      

  4.   

    GridView1.DataSource = myds;
    GridView1.DataBind();
      

  5.   

    绑定啊
    后台设置数据源一定要DataBind()
      

  6.   


    GridView1.DataSource = myds.table["lb"]; GridView1.DataBind();
      

  7.   

    是不是隐藏了,后者没写headertext
      

  8.   

    这样的问题,只有断点调试你的dateset是否获得了值,呵呵
      

  9.   

    数据集里面的datatable是空的吧,检查下是不是空的。用Response.Write(myds.Tables["lb"].Rows.Count)输出记录数看看。
      

  10.   


     gridview 你没给他数据源的时候, 在浏览器中查看,是看不到该控件的。GridView1.DataSource = myds;
    GridView1.DataBind();
      

  11.   

    请在 adp.Fill(myds, "lb");加断点,运行查看DataSet myds = new DataSet() ;中,myds是否填充了数据。你的写法没有错。
      
      

  12.   

    那myds后面的.Tables["lb"].DefaultView都不要了么?尤其是.DefaultView。如果不要了,还能在Gridview中能正常显示数据么?
      

  13.   

    GridView1.DataSource = myds.Tables[0].DefaultView;
    GridView1.DataBind();
      

  14.   

    按照你的说法在在 adp.Fill(myds, "lb");加断点了,发现Response.Write(myds.Tables["lb"].Rows.Count);中的值为零。貌似没有诗句填充进去?
      

  15.   

    用myds.Tables[0].DefaultView与用myds.Tables[“lb”].DefaultView有区别么?
      

  16.   

    如果myds后面什么都不写,还能在Gridview中显示Dataset中的数据么?
      

  17.   

    会不会是我的Oracle数据库的问题呢?但我在cmd界面里使用SELECT * FROM lb查询数据库是可以显示出数据的呀
      

  18.   

    orcale数据库比较怪,你写语句在cmd可以,但是写在程序里,要把表的完整名字写出来。
    断点没有填充,可以肯定,不是填充的问题,是那个sql语句执行的问题。
      

  19.   

     运行的myds.Tables[0].rows.count有值 ? 
      

  20.   

      DataTable myds = new DataTable() ;
      adp.Fill(myds);

      //a = myds.Tables["lb"].Rows[1]["lastname"];
      //GridView1.Rows[0].Cells[0].Text = myds.Tables["lb"].Rows[0]["id"].ToString;
      GridView1.DataSource = myds;
      GridView1.DataBind();
      

  21.   

    谢谢你,你的判断很正确,确实是Oracle数据库的事情,后来我的数据库彻底出了问题,按照网上荡的资料调试了一个晚上后好了,结果程序自己就能运行了,汗啊