绑定数据源不能用DataReader,要用DataSet或者继承了IList的如ArrayList
System.Data.SqlClient.SqlDataReader Reader;
Reader=sqlCommand1.ExecuteReader();
DataGrid1.DataSource=Reader;
DataGrid1.DataBind();
===>
System.Data.SqlClient.SqlDataReader dataAdapter= new SqlDataAdapter( StrSql, sqlConnection1 );
DataSet dataSet = new DataSet();
dataAdapter.Fill( dataSet );
DataGrid1.DataSource=dataSet;
DataGrid1.DataBind();

解决方案 »

  1.   

    不同意楼上的,DataGrid数据源绑定可以用DataReader.
    如果你需要访问Access,你只需要添加引用:
    using System.Data.OleDb;
    然后换用对应的类OleDbConnection/OleDbCommand/OleDbDataAdapter/OleDbDataReader
      

  2.   

    提示的是什么错误?
    DataGrid的数据源是可以用DataReader啊,只是要想用DataGrid且带翻页的话,就得像2楼说的那样用DataSet作数据源了。
      

  3.   

    DataGrid数据源绑定可以用DataReader
      

  4.   

    DataGrid的数据源完全用DataReader,最好把你的错误信息贴出来。
      

  5.   

    DataReader使用时要求数据连接打开的,是不时这里有问题呢
      

  6.   

    DataGrid1.DataSource只能帮定支持 IEnumerable、ICollection 或 IListSource 接口的集合
      

  7.   

    出错写的是不能登入sqlserver,别的程序可以用sqlserver的
      

  8.   

    各位高手错误是这样的:用户 'DATOU\ASPNET' 登录失败。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 用户 'DATOU\ASPNET' 登录失败。
    源错误: 
    行 63:  private void Button1_Click(object sender, System.EventArgs e)
    行 64:  {
    行 65:  sqlConnection1.Open();//系统提示这里是错的
    行 66:  System.Data.SqlClient.SqlDataReader a;
    行 67:  a=sqlCommand1.ExecuteReader();
     源文件: d:\aa\qq\webform1.aspx.cs    行: 65 堆栈跟踪: 
    [SqlException: 用户 'DATOU\ASPNET' 登录失败。]
       System.Data.SqlClient.SqlConnection.Open()
       qq.WebForm1.Button1_Click(Object sender, EventArgs e) in d:\aa\qq\webform1.aspx.cs:65
       System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       System.Web.UI.Page.ProcessRequestMain() 
      

  9.   

    用DataReader绑定以后不能直接使用DataGrid自带的分页、排序等功能。用OleDb的话
    using System.Data.OleDb;
    public OleDbConnection myConnection;
    public OleDbDataAdapter myAdapter;
    public DataSet ds;
    ...
    OleDbDataAdapter myAdapter = new SqlDataAdapter( StrSql, myConnection );
    ds = new DataSet();
    myAdapter.Fill( ds );
    DataGrid1.DataSource = ds;
    DataGrid1.DataBind();也可以考虑控件:http://sourceforge.net/projects/activeui/
      

  10.   

    我是楼主谢谢各位的见解,我昨天试了好多次,我问题是找到了但不知道怎么解决,应该是数据库连接的问题,因为我以前用的是access最近刚在用 sql我觉得连接有问题。
    以下是我的连接不成功的:
    initial catalog=lianxi;integrated security=SSPI;persist security info=False;workstation id=DATOU;packet size=4096
    如果我换成这样就可以了:
    data source=DATOU;initial catalog=lianxi;password=a;persist security info=True;user id=sa;workstation id=DATOU;packet size=4096
    这是怎么回事
      

  11.   

    你的sql用的不是windows集成认证,当然要写出userid和password。看看ado.net的sql部分吧!