大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Users表:UserID,Name
Articles表:ArticleID,UserID,ArticleTitle
生成视图:
dbo.Articles.ArticleID, dbo.Articles.ArticleTitle, dbo.Users.Name
FROM
dbo.Articles
INNER
JOIN
dbo.Users
ON
dbo.Articles.UserID
=
dbo.Users.UserID
写一条执行删除的StoredProcedure:
PROCEDURE
dbo.DeleteArticle
@a
int
AS
delete
from
Articles
where
ArticleID
=
@a
RETURN
在aspx页面上,增加GridView,并指定数据源SqlDataSource
通过向导生成的SqlDataSource1:
<asp:SqlDataSource ID=”SqlDataSource1″ runat=”server”
ConnectionString=”<%$ ConnectionStrings:DataTesterConnectionString %>”
SelectCommand=”SELECT * FROM [ViewArticles]”
DeleteCommand=”DeleteArticle”
DeleteCommandType=”StoredProcedure”>
<DeleteParameters>
<asp:Parameter Name=”a” Type=”Int32″ />
</DeleteParameters>
</asp:SqlDataSource>
通过向导生成的GridView1,并增加删除按钮列:
<asp:GridView ID=”GridView1″ runat=”server” DataSourceID=”SqlDataSource1″>
<Columns>
<asp:CommandField ShowDeleteButton=”True” />
</Columns>
</asp:GridView>
如MSDN所述:为了使 GridView 控件的自动更新和删除功能工作,必须设置 DataKeyNames 属性。
加入ArticleID作为主键
<asp:GridView ID=”GridView1″ runat=”server” DataSourceID=”SqlDataSource1″ DataKeyNames=”ArticleID”>
<Columns>
<asp:CommandField ShowDeleteButton=”True” />
</Columns>
</asp:GridView>
F5,执行了一下,”为过程或函数 DeleteArticle 指定的参数太多。 “
靠,就一个参数也不对?
利用cs编码有很多种方法实现这一过程,现在就较上劲了就不想写代码,怎么办?
在接下来的N久时间里,我无数次的试验,终于这样搞定了:
<
asp:SqlDataSource
ID
=”SqlDataSource1″
runat
=”server”
ConnectionString
=”<%$ ConnectionStrings:DataTesterConnectionString %>”
SelectCommand
=”SELECT * FROM [ViewArticles]”
OldValuesParameterFormatString
=”a”
DeleteCommand
=”DeleteArtile”
DeleteCommandType
=”StoredProcedure”
>
<
DeleteParameters
>
<
asp:Parameter
Name
=”a”
Type
=”Int32″
/>
</
DeleteParameters
>
</
asp:SqlDataSource
>
关键是OldValuesParameterFormatString=”a”这句!
或者干脆把
<DeleteParameters>
<asp:Parameter Name=”a” Type=”Int32″ />
</DeleteParameters>
这些都去掉,照样能很好的工作!
在网上找了N久都没有找到解决办法,希望对有同样问题的人有些用处。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164511.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...