SqlConnection CreateConn = DataBase.CreateConn(); //创建SQL Server数据库连接
CreateConn.Open(); //打开SQL Server数据库
SqlCommand Tempcommand = new SqlCommand("Select * from House_Table", CreateConn);
TempDataAdapter = new SqlDataAdapter(Tempcommand);
TempDataAdapter.Fill(dataSet1);我那DataGrid的DataSource已经设了DataSet1了,为什么显示不了数据??????
DataSet1为一个控件来的。
怎样才能显示数据出来?要用什么控件或者能否给点代码?
CreateConn.Open(); //打开SQL Server数据库
SqlCommand Tempcommand = new SqlCommand("Select * from House_Table", CreateConn);
TempDataAdapter = new SqlDataAdapter(Tempcommand);
TempDataAdapter.Fill(dataSet1);我那DataGrid的DataSource已经设了DataSet1了,为什么显示不了数据??????
DataSet1为一个控件来的。
怎样才能显示数据出来?要用什么控件或者能否给点代码?
后台的代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace lx.dg
{
/// <summary>
/// dg1 的摘要说明。
/// </summary>
public class dg1 : System.Web.UI.Page
{
protected System.Data.SqlClient.SqlConnection conn;
protected System.Data.SqlClient.SqlDataAdapter da;
protected string ConStr;
protected System.Data.DataSet ds;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
this.SubData();
}
protected void SubData()
{
ConStr=System.Configuration.ConfigurationSettings.AppSettings["ConStr"];
string sql="select * from gydb";
conn=new SqlConnection(ConStr);
da=new SqlDataAdapter(sql,conn);
ds=new DataSet();
conn.Open();
da.Fill(ds,"gydb");
conn.Close();
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
}
}
}
conn=new SqlConnection(ConStr);
da=new SqlDataAdapter(sql,conn);
ds=new DataSet();
da.Fill(ds,"A");
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();就这样就可以
回答完全正确
如果FORM程序就不需要.还可以绑定:this.datagrid1.DataBindings(ds.tables[0],null);
就是在同一个项目中,不可能每次显法一个数据集的时候都要new一个SqlConnection吧,那样子不就重复连接了,怎样子在同一个项目中用同一个SqlConnection呢,是不是要定义一个public的全局公共变量?那样子又怎样定义呢?在Delphi中有一个DataModule数据模块来放这些数据集控件的,在C#中又是用什么呢?我是初学者所以不是很懂。
DataGrid1.DataSource=ds;
DataGrid1.DataBind();把这个加上 应该OK了
比如说我有两个窗体,一个是用来显示会员的,一个是用来显示客户的,那我在这两个不同的窗本中都要用以下的代码吗?string sql="select * from TABLE";
conn=new SqlConnection(ConStr);
conn.Open();
da=new SqlDataAdapter(sql,conn);
ds=new DataSet();
da.Fill(ds,"A");
DataGrid1.DataSource=ds.Tables[0].DefaultView;以下代码:
conn=new SqlConnection(ConStr);
conn.Open();
不就是创建了两次数据库连接了嘛,我只想创建一次数据库边接啊!
怎样在两个不同的窗体用同一个数据库连接(conn)呢?
SqlCommand Tempcommand = new SqlCommand("Select * from House_Table", CreateConn);
TempDataAdapter = new SqlDataAdapter(Tempcommand);
TempDataAdapter.Fill(Table1);DataGrid.DataSource = Table1;
DataGrid.DataBind();
[email protected]
对于你的这个问题,其实很简单
在一个数据访问类(DBAccess.cs)中,把数据连接定义为成员变量,然后你的这两个数据填充函数都使用这个成员变量
using System;
using System.Data;
using System.Data.Sqlclient;public class DBAccess
{
private SqlConnection cn ;
public DBAccess()
{
cn = new SqlConnection(ConnStr);
}
public DataSet GetKeHu()
{
DataSet ds = new DataSet();
sql = "";
cn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(sql,cn);
adapter.Fill(ds);
return ds;
}
public DataSet GetHuiYuan()
{
DataSet ds = new DataSet();
sql = "";
cn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(sql,cn);
adapter.Fill(ds);
return ds;
}
}}在页面中调用这个类的两个实例方法,这才符合MVC标准