.NET Web窗体将参数作为SQL Select / Where传递

杰夫·考克斯

我正在处理连接到SQL Server的Web窗体应用程序,并且试图将数据从一页传递到另一页。具体来说,我有一个ListView ProjectList.aspx,它将ProjectID值传递给FormView ProjectDetails.aspx。我正在尝试设置SQL来捕获此ProjectID作为其WHERE子句的参数。

我的ProjectDetails.aspx数据源在下面定义。

<asp:SqlDataSource ID="ProjectDetailsSQL" 
                   runat="server" 
                  ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" 

DeleteCommand="DELETE FROM [tblProject] WHERE [ProjectID] = @original_ProjectID" 

InsertCommand="INSERT INTO [tblProject] 
                          ([ProjectID], [ProjectName], [ProjectAddress], 
                           [ProjectCity], [ProjectState],[ProjectZip]) 
                    VALUES (@ProjectID, @ProjectName, @ProjectAddress, 
                            @ProjectCity, @ProjectState, @ProjectZip)" 

OldValuesParameterFormatString="original_{0}" 

SelectCommand="SELECT [ProjectID], [ProjectName], [ProjectAddress], 
                      [ProjectCity], [ProjectState], [ProjectZip]
               FROM [tblProject] WHERE ([ProjectID] = @ProjectID)" 

UpdateCommand="UPDATE [tblProject] 
               SET [ProjectName] = @ProjectName, 
                   [ProjectAddress] = @ProjectAddress, 
                   [ProjectCity] = @ProjectCity, 
                   [ProjectState] = @ProjectState, 
                   [ProjectZip] = @ProjectZip 
               WHERE [ProjectID] = @original_ProjectID">

<DeleteParameters>
    <asp:Parameter Name="original_ProjectID" Type="Int32" />
</DeleteParameters>

<InsertParameters>
    <asp:Parameter Name="ProjectID" Type="Int32" />
    <asp:Parameter Name="ProjectName" Type="String" />
    <asp:Parameter Name="ProjectAddress" Type="String" />
    <asp:Parameter Name="ProjectCity" Type="String" />
    <asp:Parameter Name="ProjectState" Type="String" />
    <asp:Parameter Name="ProjectZip" Type="String" />
</InsertParameters>

<SelectParameters>
    <asp:Parameter Name="ProjectID" Type="Int32" />
</SelectParameters>

<UpdateParameters>
    <asp:Parameter Name="ProjectName" Type="String" />
    <asp:Parameter Name="ProjectAddress" Type="String" />
    <asp:Parameter Name="ProjectCity" Type="String" />
    <asp:Parameter Name="ProjectState" Type="String" />
    <asp:Parameter Name="ProjectZip" Type="String" />
    <asp:Parameter Name="original_ProjectID" Type="Int32" />
</UpdateParameters>

我尝试将数据作为路由URL(Servername / Project / 12345),显式URL(Servername / ProjectDetails.aspx?12345)传递并定义参数(Servername / ProjectDetails.aspx?ProjectID = 12345),然后FormView变为空白。如果放下WHERE ([ProjectID] = @ProjectID)SelectCommand,FormView将正常显示表格的第一条记录。

我猜测问题不在于数据的传递,而在于WHERE子句捕获了我试图传递的内容。还有其他地方需要将@ProjectID定义为我要传递的值吗?

安德烈

这里的问题是SqlDataSource没有该参数的值,它根本不知道从何处获取它。

我不确定SqlDataSource是否可以与URL重写一起正常工作,猜测它取决于您实际设置它的方式。但是对于后一种选择,您已经提到

Servername / ProjectDetails.aspx?ProjectID = 12345

有一个内置的支持。将参数声明为查询字符串一,它将直接从请求的查询字符串中获取:

<SelectParameters>
    <asp:QueryStringParameter Name="ProjectID" Type="Int32" QueryStringField="ProjectID" />
</SelectParameters>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将SELECT结果作为参数传递给PostgreSQL函数

来自分类Dev

将TextBox值作为链接传递,并将参数传递给另一个Web窗体

来自分类Dev

将VB函数回调作为参数传递给.NET

来自分类Dev

将lambda作为变量传递给.Select()

来自分类Dev

将谓词作为参数传递给Where子句时,EF SQL发生了更改

来自分类Dev

将谓词作为参数传递给Where子句时,EF SQL发生了更改

来自分类Dev

将参数传递给MyBatis @Select

来自分类Dev

将'select from dual'作为参数传递给Java可调用语句

来自分类Dev

select_tag选择将哪个参数作为true传递给查询字符串

来自分类Dev

SQL-根据Select语句中的布尔条件添加/禁用Where子句(ASP.net SQLDataSource)

来自分类Dev

如何在vb.net中使用'select ... from ..where id in(list)'语法在vb.net中创建SQL查询

来自分类Dev

Net Web API-如何在Get上传递URL作为输入参数

来自分类Dev

将字符串数组作为参数传递给asp.net mvc webapi方法

来自分类Dev

VB.NET,将数组作为参数传递的两种方式相同吗?

来自分类Dev

如何将表单作为函数vb.net的参数传递

来自分类Dev

如何将子过程作为参数传递VB.NET

来自分类Dev

ASP.net使用Eval将逗号分隔的字符串作为参数传递

来自分类Dev

将数组作为命令行参数传递给Asp.Net Core

来自分类Dev

从VB.Net将文本值作为参数传递给Crystal Report公式字段时出错

来自分类Dev

ASP.NET MVC如何将JSON对象从View传递到Controller作为参数

来自分类Dev

将Ext.NET隐藏字段的值作为参数传递给Action方法

来自分类Dev

将JavaScript变量作为ASP.NET MVC形式的参数传递

来自分类Dev

VB.NET,将数组作为参数传递的两种方式相同吗?

来自分类Dev

将asp.net控件作为参数传递给javascript函数

来自分类Dev

如何编写传递select语句作为输入参数的存储过程?

来自分类Dev

将会话变量作为参数传递给 SELECT 查询

来自分类Dev

将参数传递给SQLSRV WHERE IN查询

来自分类Dev

将 NULL 和空白作为 SQL 参数中的参数传递

来自分类Dev

ORACLE SQL:使用SELECT语句将值传递给函数参数

Related 相关文章

  1. 1

    将SELECT结果作为参数传递给PostgreSQL函数

  2. 2

    将TextBox值作为链接传递,并将参数传递给另一个Web窗体

  3. 3

    将VB函数回调作为参数传递给.NET

  4. 4

    将lambda作为变量传递给.Select()

  5. 5

    将谓词作为参数传递给Where子句时,EF SQL发生了更改

  6. 6

    将谓词作为参数传递给Where子句时,EF SQL发生了更改

  7. 7

    将参数传递给MyBatis @Select

  8. 8

    将'select from dual'作为参数传递给Java可调用语句

  9. 9

    select_tag选择将哪个参数作为true传递给查询字符串

  10. 10

    SQL-根据Select语句中的布尔条件添加/禁用Where子句(ASP.net SQLDataSource)

  11. 11

    如何在vb.net中使用'select ... from ..where id in(list)'语法在vb.net中创建SQL查询

  12. 12

    Net Web API-如何在Get上传递URL作为输入参数

  13. 13

    将字符串数组作为参数传递给asp.net mvc webapi方法

  14. 14

    VB.NET,将数组作为参数传递的两种方式相同吗?

  15. 15

    如何将表单作为函数vb.net的参数传递

  16. 16

    如何将子过程作为参数传递VB.NET

  17. 17

    ASP.net使用Eval将逗号分隔的字符串作为参数传递

  18. 18

    将数组作为命令行参数传递给Asp.Net Core

  19. 19

    从VB.Net将文本值作为参数传递给Crystal Report公式字段时出错

  20. 20

    ASP.NET MVC如何将JSON对象从View传递到Controller作为参数

  21. 21

    将Ext.NET隐藏字段的值作为参数传递给Action方法

  22. 22

    将JavaScript变量作为ASP.NET MVC形式的参数传递

  23. 23

    VB.NET,将数组作为参数传递的两种方式相同吗?

  24. 24

    将asp.net控件作为参数传递给javascript函数

  25. 25

    如何编写传递select语句作为输入参数的存储过程?

  26. 26

    将会话变量作为参数传递给 SELECT 查询

  27. 27

    将参数传递给SQLSRV WHERE IN查询

  28. 28

    将 NULL 和空白作为 SQL 参数中的参数传递

  29. 29

    ORACLE SQL:使用SELECT语句将值传递给函数参数

热门标签

归档