asp.net - 带有 postgres 选择参数的 asp.net sqldatasource
问题描述
在 Visual Studio 中,我有一个使用连接到 postgres 数据库的 sqldatasource 组件的 asp.net (vb.net) 项目。这工作正常,但现在我需要为我的 select 语句提供一个参数,但我找不到解决方案:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:myConnectionString %>"
ProviderName="Npgsql"
SelectCommand="SELECT column2 from myTable where column1 = :column1)">
<SelectParameters>
<asp:Parameter Name=":column1" Type="String"/>
</SelectParameters>
</asp:SqlDataSource>
当我尝试更新方案时,我得到一个
错误 42601 >>:<< 处的语法错误
我也尝试使用参数@column1(而不是:column1,它适用于我的mssqlserver连接),但后来我得到了
错误 42883 运算符不存在@字符变化”。
有没有办法使用带有 postgres sql 参数的 sqldatasource 而不需要后面的编程代码?
解决方案
同时,我或多或少地偶然发现了解决方案,所以如果其他人可能感兴趣,我会在这里给出:在 SelectCommd 中,我使用“@column1”作为参数。在 SelectParamter 部分中,参数名称必须是“column1”(不带 @):
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:myConnectionString %>"
ProviderName="Npgsql"
SelectCommand="SELECT column2 from myTable where column1 = @column1)">
<SelectParameters>
<asp:Parameter Name="column1" Type="String"/>
</SelectParameters>
</asp:SqlDataSource>
它仍然无法使用 sqldatasource 组件执行“更新方案”(仍然出现错误),但现在 select 语句在运行时工作正常,即基于 sqldatasource 的 gridview 根据需要显示所选数据。
推荐阅读
- java - 如何将 Opcodes 中的 ASM 的 API 版本映射到 Java 版本?
- python - python抓取后无法读取导入的带有UTF-8格式的excel的csv文件
- loopbackjs - 如何访问 loopback4 中的请求标头?
- javascript - 使用功能组件在 google-map-react 中向 Google Maps 添加标记
- r - 将一列扩展到R中的多列
- c++ - C++ 标准容器不插入新值的问题
- javascript - 将数组中的所有日期转换为格式 MM/DD/YYYY javascript
- javascript - 如何将 html 中的 js 与 webpack 捆绑在一起?
- javascript - Flickity - 提高拖动/滑动触发到下一张/上一张幻灯片的灵敏度
- php - InvalidArgumentException:格式错误的 UTF-8 字符,可能在文件中错误编码 - Laraval