private void Page_Load(object sender, System.EventArgs e)
{
  System.Data.SqlClient.SqlConnection cn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MyDB Data Source=My");
  System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter("select * from CPC",cn);
  System.Data.DataSet ds = new DataSet();
  cn .Open();
  da.Fill(ds);
  cn.Close();
  this.DataGrid1.DataSource = ds.Tables[0];
}请问一下Winform下能运行成功的方式为什么到了webform下就不行了?
难道是连接字符串不对么?

解决方案 »

  1.   

    在webform下面也是可以的,但是他们的绑定方法有些区别
    设置数据源后还要调用绑定方法,否则不会绑定数据显示。this.DataGrid1.DataSource = ds.Tables[0];
    this.DataGrid1.DataBound();
      

  2.   

    可以的,是不是你没有设置DataGrid1各行绑定的字段,没有显示而已。
      

  3.   

    问题出在cn.open()上,似乎连接字符串出了问题以下是出错信息[SqlException: 用户 'MY\ASPNET' 登录失败。]
       System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +472
       System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
       System.Data.SqlClient.SqlConnection.Open() +384
       WebApplication4.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication4\webform1.aspx.cs:32
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731
      

  4.   

    haha问题解决了,给sql加了一个叫'MY\ASPNET' 得用户就好了。
      

  5.   

    你的用户是超级管理员用户吗?不行的话,把连接字符改一下改成Server='';User I d= '';Password='';DataBase='';试试看看,还有如果开网络防火墙 的话最好关一下!