| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1677 人关注过本帖
标题:操作必须使用一个可更新的查询.(急!!)
只看楼主 加入收藏
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:8 
操作必须使用一个可更新的查询.(急!!)
我在往数据库中插入或更新记录时出错!IE说:操作必须使用一个可更新的查询.我的代码应该是没错的,下面是错误描述
_______________________________________________________________________________
Server Error in '/' Application.
Exception Details: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Source Error:

Line 29:             
Line 30: conn.open()
Line 31: cmd.ExecuteNonQuery()
Line 32: conn.close()
Line 33:

____________________________________________________________________
下面是代码部分:
<%@ page debug="true" %>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.oledb" %>
<script language="vb" runat="server">
sub page_load(sendeer as object,e as eventargs)
if page.ispostback=false then
call binddata()
end if
end sub
sub mydatagrid_edit(sender as object,e as datagridcommandeventargs)
mydatagrid.edititemindex=cint(e.item.itemindex)
call binddata()
end sub
sub mydatagrid_cancel(sender as object,e as datagridcommandeventargs)
mydatagrid.edititemindex=-1
call binddata()
end sub
sub mydatagrid_update(sender as object,e as datagridcommandeventargs)
dim conn as new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("database/wwwlink.mdb"))
dim texsitename,texurl,texintro as textbox
texsitename=e.item.cells(1).controls(0)
texurl=e.item.cells(3).controls(1)
texintro=e.item.cells(2).controls(0)
dim texgrade as dropdownlist
texgrade=e.item.cells(4).controls(1)
dim strsql as string
strsql="update link set sitename='" & texsitename.text & "',url='" & texurl.text & "',intro='" & texintro.text & "' ,grade=" & cint(texgrade.selecteditem.text) & ",submit_date=#" & now() & "# where id=" & mydatagrid.datakeys(cint(e.item.itemindex))
dim cmd as new oledbcommand(strsql,conn)

conn.open()
cmd.ExecuteNonQuery()
conn.close()



mydatagrid.edititemindex=-1
call binddata()

end sub
sub binddata()
dim conn as new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("database/wwwlink.mdb"))
dim cmd as new oledbcommand("select * from link",conn)
dim adp as new oledbdataadapter(cmd)
dim ds as new dataset
adp.fill(ds,"link")
mydatagrid.datasource=ds.tables("link").defaultview
mydatagrid.databind()
end sub
</script>


<HTML>


<BODY>
<h2 align="center">网络导航</h2>
<form runat="server">
<asp:datagrid id="mydatagrid" headerstyle-backcolor="#33FF00" width="90%" oneditcommand="mydatagrid_edit" onupdatecommand="mydatagrid_update" oncancelcommand="mydatagrid_cancel" autogeneratecolumns="false" datakeyfield="id" runat="server">
<columns>
<asp:editcommandcolumn edittext="编辑" updatetext="更新" canceltext="取消" itemstyle-wrap="false"/>
<asp:boundcolumn headertext="网站名称" datafield="sitename" />
<asp:boundcolumn headertext="网站简介" datafield="intro" />
<asp:templatecolumn headertext="网站地址">

<itemtemplate>
<asp:hyperlink text='<%#container.dataitem("url")%>' navigateurl='<%#container.dataitem("url")%>'
target="_blank" runat="server"/>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="url" text='<%#container.dataitem("url")%>' runat="server"/>
</edititemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="网站评分">
<itemtemplate>
<asp:label text='<%#container.dataitem("grade")%>' runat="server"/>
</itemtemplate>
<edititemtemplate>
<asp:dropdownlist id="grade" runat="server">
<asp:listitem>1</asp:listitem>
<asp:listitem>2</asp:listitem>
<asp:listitem selected="true">3</asp:listitem>
<asp:listitem>4</asp:listitem>
<asp:listitem>5</asp:listitem>
</asp:dropdownlist>
</edititemtemplate>
</asp:templatecolumn>
<asp:boundcolumn headertext="提交时间" datafield="submit_date" readonly="true"/>
<asp:boundcolumn headertext="网站编号" datafield="id" readonly="true"/>
</columns>
</asp:datagrid>

</form>
</body>
</html>


</BODY>
</HTML>


[此贴子已经被作者于2007-4-5 18:44:02编辑过]

搜索更多相关主题的帖子: 查询 
2007-04-04 18:51
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 
设置权限,这个问题需要对ACCESS数据库的权限进行设置
右键-安全-选中everyone 就OK了

Tomorrow is another day! my love..................
2007-04-04 22:56
tel1982
Rank: 3Rank: 3
来 自:水星
等 级:新手上路
威 望:8
帖 子:852
专家分:0
注 册:2006-10-21
收藏
得分:0 

这应该是权限的设置有问题,你可以这一这样做:右键点击数据库的属性,在里面找到安全选项,然后找到everyone选项,把它的权限放到最大就可以了,如果没有这个选项,那么就进行添加,然后再以上面所说就可以了。


Face up to life with smiles no matter what happens
2007-04-05 08:09
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
得分:0 

没有你们说的那个evenyone选项卡
______________________________________________


[IMG]http://photo6.56.com/albums/userpics/datad/43/32/10883570%7C109478368546149cf4c2656.jpg[/IMG]

帮帮忙啊!


每个人都他妈的那么开心,为什么我就不行!
2007-04-05 14:54
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
得分:0 
哪个能帮我说说啊555555555555555555555555555

每个人都他妈的那么开心,为什么我就不行!
2007-04-05 18:16
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
得分:0 

我改了啊
还是不行


每个人都他妈的那么开心,为什么我就不行!
2007-04-05 18:45
anhuanxin
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-8
收藏
得分:0 
回复:(tm_ma)操作必须使用一个可更新的查询.(急!!)...

控制面板里有个文件夹选项,打开他,点击查看,里面有个“使用简单文件共享(推荐)”,把它前面的对勾去掉,然后在你保存文件的属性里就有“安全“这一项了,点击everyone,把写入权限画上对勾,就可以了

2007-04-06 09:27
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
得分:0 

现在我解决了
就是把internet来宾用户的权限扩大就行了!!


每个人都他妈的那么开心,为什么我就不行!
2007-04-06 09:51
rstp
Rank: 1
等 级:新手上路
威 望:1
帖 子:50
专家分:0
注 册:2006-10-13
收藏
得分:0 
同意7楼的,NTFS格式的磁盘是看不到安全选项卡的,要  在文件夹选项中 取消使用简单文件共享 才能看到安全标签,然后为 文件夹添加everyone权限
2007-04-06 23:29
快速回复:操作必须使用一个可更新的查询.(急!!)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017473 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved