| |
asp.net问题
|
|
作者: makh0306
01-01 08:00
回复
|
|
看下下面代码怎么老是错误呢?
<%@ Page Language="C#" ContentType="text/html" debug="true"%>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<script language="C#" runat="server">
public OleDbConnection AconnStr=null;
void Page_Load(Object sender,EventArgs e){
//设定数据库操作命令
AconnStr=new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("User.mdb")+";");
OleDbCommand Acmd=new OleDbCommand("select top 5 * from UserTable order by ID desc",AconnStr);
OleDbDataReader odr=null;
AconnStr.Open();
try{
//执行命令,获取数据流
odr=Acmd.ExecuteReader();
}catch(Exception ex){
if (ex!=null) Response.Write(ex.ToString());
}
if(odr!=null){
//按纪录顺序使用数据流
string TotalInfo="<table width='100%' border='1' cellspacing='2' cellpadding='2'>";
TotalInfo+="<tr><td width='100'>ID号</td><td width='100'>用户名</td></tr>";
while(odr.Read()){
TotalInfo+="<tr>";
TotalInfo+="<td>"+odr["ID"].ToString()+"</td>";
TotalInfo+="<td>"+odr["UserName"].ToString()+"</td>";
TotalInfo+="</tr>";
}
odr.Close();//关闭数据流
listdiv.InnerHtml=TotalInfo+"</table>";
}
AconnStr.Close();//关闭数据连接
}
//插入数据
void Insert_Click(Object sender,EventArgs e){
OleDbCommand Icmd=new OleDbCommand("Insert into UserTable (UserName,UserPswd) values('"+username.Text+"','"+userpswd.Text+"')",AconnStr);
AconnStr.Open();
int ExeNum=Icmd.ExecuteNonQuery();
if(ExeNum==1){
Response.Write("执行成功");
}else{
Response.Write("执行失败");
}
AconnStr.Close();
Page_Load(sender,e);
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试</title>
</head>
<body>
<H3>Select 检索数据</H3><br>
<form runat="server">
用户名:<asp:textbox ID="username" runat="server" TextMode="SingleLine" /><br>
密码:<asp:textbox ID="userpswd" runat="server" TextMode="SingleLine" /><br>
<asp:button ID="InsertBtn" runat="server" Text="确定" OnClick="Insert_Click" />
</form>
<div runat="server" id="listdiv" style="font-size:10.5pt;BORDER:1px solid #CCCCCC;BACKGROUND-COLOR:#F2F2F2"></div>
</body>
</html>
老提示下面这样的错误:
“/a”应用程序中的服务器错误。
操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。 |
|
| |
回复:asp.net问题
|
|
作者: jingle
01-01 08:00
回复
|
|
请检查一下,User.mdb和它所在的目录的权限.
AspNet程序和IIS的程序需要有mdb文件的访问权限.
如果你使用的操作系统是XP,请先取消简单文件共享,这样,才可以设置权限.方法:打开目录,在工具栏中,找到,工具---文件夹选项--查看--高级设置,取消"使用简单文件共享(推荐)"的勾选.
如果系统是windows2003,就直接转到下面.
然后,找到User.mdb和它所在的目录,右键,安全,增加用户,Everyone,AspNet(提示:可以点搜索来查找用户).
这样,就可以增加这些用户对文件的操作的权限. |
|
| |
回复:asp.net问题
|
|
作者: lovenight1983
08-04 16:26
回复
|
|
asp.net用户对User.mdb文件没有权限 |
|
|