职位关键字 工作地点
工作名称 公司名称 校园招聘
中国最好的工作搜索引擎!
  回复留言  
  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文件没有权限

标 题:
内 容:
用户名:
 游客
 
 
Copyright©2005-2007, 版权所有 WWW.JOBMET.COM
ICP证:京ICP备06019556号