带有postgres select参数的asp.net sqldatasource

问题描述 投票:0回答:1

在Visual Studio中,我有一个asp.net(vb.net)项目,使用连接到postgres数据库的sqldatasource组件。这工作正常,但现在我需要为我的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运算符不存在@字符变化“。

有没有办法在没有编程代码的情况下将sqldatasource与postgres sql参数一起使用?

asp.net postgresql sqldatasource
1个回答
0
投票

Meanwile我或多或少地发现了解决方案,所以如果其他人可能感兴趣我在这里给它:在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根据需要显示所选数据。

© www.soinside.com 2019 - 2024. All rights reserved.