SqlDataSource WEB控件:当DeleteCommandType=”storedProcedure”时「建议收藏」

SqlDataSource WEB控件:当DeleteCommandType=”storedProcedure”时「建议收藏」设计Users表:UserID,NameArticles表:ArticleID,UserID,ArticleTitle生成视图:SELECT     dbo.Articles.ArticleID, dbo.Articles.ArticleTitle, dbo.Users.NameFROM         dbo.Articles INNER JOIN                      db…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

设计

Users表:UserID,Name

Articles表:ArticleID,UserID,ArticleTitle

生成视图:

SELECT
     dbo.Articles.ArticleID, dbo.Articles.ArticleTitle, dbo.Users.Name

FROM
         dbo.Articles 
INNER
 
JOIN

                      dbo.Users 

ON
 dbo.Articles.UserID 
=
 dbo.Users.UserID

写一条执行删除的StoredProcedure:

CREATE
 
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账号...

(0)


相关推荐

  • android performClick使用

    android performClick使用performClick是使用代码主动去调用控件的点击事件(模拟人手去触摸控件)—————————————–booleanandroid.view.View.performClick()Callthisview’sOnClickListener,ifitisdefined.Retur

  • c语言 windows多线程_C语言 多线程

    c语言 windows多线程_C语言 多线程_beginThreadex创建多线程解读一、需要的头文件支持 #include         //for_beginthread()需要的设置:ProjectàSetting–>C/C++–>Userrun-timelibrary选择DebugMultithreaded或者Multithreaded。即使用:MT或MTD。二、解释

  • java开发常用工具

    java开发常用工具

  • MySQL数据库:常见经典SQL语句

    MySQL数据库:常见经典SQL语句

  • UML活动图

    UML活动图面向对象的软件开发方法的第一步:业务建模<–使用活动图转载:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html活动图概述•活动图和交互图是UML中对系统动态方面建模的两种主要形式•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流•活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用…

  • excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?

    excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?大家都知道Excel表,最怕别人修改了,尤其是数据。一旦修改,可能就会有麻烦。那如何是好呢?有一个最简单的办法就是把Excel转换成PDF文件,这样别人只能阅读不能编辑,就不用担心被修改了,哈哈~下面就随小编一起来看下Excel转PDF的办法有哪些吧?方法一:需要一份份文件手动处理。1、创建PDF文件a、打开需转成PDF的文件,譬如本例的表格:成本数据b、单击工具栏上的“文件”标签,点击“保存并发…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号