用DataGrid默认的分页属性的简单代码,晕,了!
用DataGrid默认的分页属性的简单代码
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace ="System.Data.OleDb"%>
<%@ Page Language="C#" Debug="true" %>
<html>
<script language = "C#" runat = "server">
void Page_Load()
{
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("test.mdb");//以为是这句出了问题
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter = new OleDbDataAdapter("select * from test.mdb",objConnection);
DataSet objDataSet = new DataSet();
objDataAdapter.Fill(objDataSet);
MyGrid.DataSource = objDataSet;
MyGrid.DataBind();
}
void MyGrid_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
MyGrid.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<body>
<asp:DataGrid id = "MyGrid"
cellpadding = "1"
showheader = "true"
boderwidth = "0"
allowpaging = "true"
pagesize = "3"
onpageindexchanged = "MyGrid_PageIndexChanged"
runat = "server"/>
</body>
</html>
********************************************************
现在情况是这样的:
1.
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("test.mdb");//之前不是这样写的
首先不确定这句是否正确,以前错误信息是System.Data.OleDb.OleDbException:文件名无效。显示的错误代码是 objDataAdapter.Fill(objDataSet);
2.改为现在的语句后,即string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("test.mdb");//之后,错误为:
找不到文件 'C:\WINNT\system32\test.mdb'。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 找不到文件 'C:\WINNT\system32\test.mdb'。
源错误:
行 19: objDataAdapter.Fill(objDataSet);
3.我绝望的把我的access数据文件test.mdb放在以上提及的路径下'C:\WINNT\system32\test.mdb'
之后又见到错误如下:
Microsoft Jet 数据库引擎找不到输入表或查询 'mdb'。 确定它是否存在,以及它的名称的拼写是否正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎找不到输入表或查询 'mdb'。 确定它是否存在,以及它的名称的拼写是否正确。
源错误:
行 18: DataSet objDataSet = new DataSet();
晕死了,查过以前的帖子,错误情况如1,但问题还是没有解决,故贴此帖求教了。
谢谢!!!!
问题点数:20、回复次数:10Top
1 楼Nils(睡瞌睡等机会)回复于 2005-04-03 18:33:02 得分 0
你的SQL有问题吧
select * from test.mdb
是 test.mdb ?Top
2 楼xzq686(★_瞬_★)回复于 2005-04-03 18:50:58 得分 10
你的test.mdb在哪??如果在根目录下:
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("/test.mdb");
再有,OleDbDataAdapter objDataAdapter = new OleDbDataAdapter("select * from test.mdb",objConnection);//这句中的表名你写成数据库了select * from test.mdb数据库里的表
Top
3 楼Drowning(悠長假期~~)回复于 2005-04-03 19:32:28 得分 0
select * from [tablename]Top
4 楼zm_050403(牧神午后)回复于 2005-04-04 00:23:20 得分 0
感谢楼上各位出手相救,只怪小弟交待不清,
现补充:
1.我不是用默认装好iss的那个wwwroot的文件夹。我自己建了一个D:\website\作为指定的根目录
2.在此目录下我建了个文件夹test,放我上面的页面。即D:\website\test\fengye.aspx。
3.而那个可怕的数据库文件test.mdb(是access啊,不是sql)的路径是D:\website\test.mdb。
后来一气之下来个满地图埋伏test.mdb,故D:\website\test\下也放了一个。
4.在test.mdb里,我就建了一个table1的表作测试用。
交待完毕了。
感谢大家对菜鸟的关心。]
****
再有,OleDbDataAdapter objDataAdapter = new OleDbDataAdapter("select * from test.mdb",objConnection);//这句中的表名你写成数据库了select * from test.mdb数据库里的表
*****
select * from [tablename]
???1.个语句里放的不是数据库名吗?是表名?我就一个表table1
???2.Server.MapPath("test.mdb");//我根目录自定义的,难道他返回当前的路径,即D:\website\?这个函数只能返回默认的那个什么wwwroot的?
Top
5 楼zm_050403(牧神午后)回复于 2005-04-04 00:26:06 得分 0
呀,不能编辑的 改为:???2.Server.MapPath("test.mdb");//我根目录自定义的,难道他不能返回当前的路径,Top
6 楼zm_050403(牧神午后)回复于 2005-04-04 01:46:54 得分 0
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("test.mdb");
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter = new OleDbDataAdapter("select * from table1",objConnection);
...
...
}
或者
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=D:\website\test.mdb";
...
...
}
出现以下错误了:
*************************
类型“DataGridLinkButton”的控件“MyGrid__ctl7__ctl1”必须放在具有 runat=server 的窗体标记内。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 类型“DataGridLinkButton”的控件“MyGrid__ctl7__ctl1”必须放在具有 runat=server 的窗体标记内。
****************************
绝望地睡去Top
7 楼ip928(赵晓骏)回复于 2005-04-04 09:22:04 得分 10
在你的<body>标签后面加<form runat = server id = form1 name = form1>
在</body>之前加上</form>Top
8 楼baobei7758(陵少)回复于 2005-04-04 09:46:46 得分 0
DataGridLinkButton在结束标记</form>之外
Top
9 楼zm_050403(牧神午后)回复于 2005-04-04 20:39:45 得分 0
谢谢所有楼上的,可惜初来乍到,只有默认的20分开的贴。不好意思了,以后加倍给,谢谢all above!!Top
10 楼zm_050403(牧神午后)回复于 2005-04-04 20:45:25 得分 0
还得看看怎么给分-_-!!!Top




