用datagrid在web页面上未显示数据库中数据问题:
private void Page_Load(object sender, System.EventArgs e)
{
string CnnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ";
CnnString += Server.MapPath("db.mdb");
OleDbConnection cnn =new OleDbConnection(CnnString);
cnn.Open();
string sql="select * from login";
OleDbDataAdapter olecmd=new OleDbDataAdapter(sql,cnn);
DataSet myDataSet=new DataSet();
olecmd.Fill(myDataSet,"login");
userid.DataSource=myDataSet;//userid为.aspx中<asp:DataGrid ID="userid">
userid.DataBind();//绑定
cnn.Close();
}
调试中并未有错误,但是在web页上没显示数据,请问各位大大是什么原因呢?
问题点数:20、回复次数:21Top
1 楼preempt()回复于 2005-02-20 09:43:01 得分 0
行规,自己顶Top
2 楼preempt()回复于 2005-02-20 10:33:55 得分 0
就没人帮忙看看吗?Top
3 楼wingnal(清淡天和)回复于 2005-02-20 11:36:36 得分 0
userid.DataSource=myDataSet.DefaultView;Top
4 楼jaroc818(change-in-time)回复于 2005-02-20 11:39:34 得分 0
upTop
5 楼preempt()回复于 2005-02-20 11:54:04 得分 0
wingnal(清淡天和)兄:
没有用啊,仍然什么都不显示Top
6 楼yong427(无言)回复于 2005-02-20 12:34:23 得分 0
跟踪以下
看看myDataSet.Tables[0].Rows.Count是否>0Top
7 楼wingnal(清淡天和)回复于 2005-02-20 12:48:54 得分 0
DataGrid 是不是设置为不可见了Top
8 楼simplexn(似水流年)回复于 2005-02-20 12:51:18 得分 0
userid.DataSource=myDataSet改为userid.DataSource=ds.Tables["Login"].DefaultView;
试试看Top
9 楼wingnal(清淡天和)回复于 2005-02-20 12:57:19 得分 0
聪明Top
10 楼preempt()回复于 2005-02-20 13:00:05 得分 0
simplexn兄:
现在改成了你那种写法,仍然什么都没有显示.
wingnal兄:
我有个不情之请,能把你原来写的实验成功的那段代码贴上来给我看看吗?当然,完成那个最简单的读取功能就可以了Top
11 楼wingnal(清淡天和)回复于 2005-02-20 13:03:15 得分 0
waitTop
12 楼yong427(无言)回复于 2005-02-20 13:05:04 得分 0
把你的.aspx的代码帖出来看看Top
13 楼penny417(一分钱)回复于 2005-02-20 13:09:16 得分 0
upTop
14 楼preempt()回复于 2005-02-20 13:11:15 得分 0
yong427兄:
这是.aspx那边的代码.
<body MS_POSITIONING="GridLayout">
<asp:datagrid id="DataGrid1" Runat="server">
</asp:datagrid>
</body>Top
15 楼wingnal(清淡天和)回复于 2005-02-20 13:12:21 得分 0
userid.DataSource=ds.Tables[0].DefaultView;
Top
16 楼wingnal(清淡天和)回复于 2005-02-20 13:14:26 得分 0
/// <summary>
/// 获得数据视图
/// </summary>
/// <param name="strsql"></param>
/// <returns></returns>
public DataView ReturnDataView(string strsql)
{
SqlConnection sct = new SqlConnection(ss_conn);
try
{
sct.Open();
SqlDataAdapter sda = new SqlDataAdapter(strsql,sct);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds.Tables[0].DefaultView ;
}
catch(System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
sct.Close();
}
}
public DataView ReturnMuLu(string kysid)
{
string strsql="select * from vw_mulu where keyansuoid='"
+kysid+"' order by muluid";
return ReturnDataView(strsql);
}
private void load()
{
this.DataGrid1.DataSource=ReturnMuLu(ViewState["kysid"].ToString());
this.DataGrid1.DataBind();
}Top
17 楼preempt()回复于 2005-02-20 13:16:05 得分 0
wingnal兄:
现在是这个样子,还是什么都没有显示:
string CnnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ";
CnnString += Server.MapPath("db.mdb");
OleDbConnection cnn =new OleDbConnection(CnnString);
string sql="select * from login";
OleDbDataAdapter olecmd=new OleDbDataAdapter(sql,cnn);
DataSet myDataSet=new DataSet();
olecmd.Fill(myDataSet,"login");
DataView myDataSet1=myDataSet.Tables[0].DefaultView;
ataGrid1.DataSource=myDataSet1;
DataGrid1.DataBind();Top
18 楼preempt()回复于 2005-02-20 13:17:05 得分 0
哦,wingnal兄,我去看看Top
19 楼wingnal(清淡天和)回复于 2005-02-20 13:28:00 得分 0
实在没有看出有什么毛病,我都搞糊涂了 数据库中有数据?
对了 我发给你的那段代码是用于sql server 的 同access有些不一样
你是用vs写的吗?要不把整个项目用qq传给我吧 连同数据库
qq 275037227Top
20 楼wingnal(清淡天和)回复于 2005-02-20 14:11:01 得分 20
okTop
21 楼penny417(一分钱)回复于 2005-02-21 11:54:10 得分 0
upTop




