【发布时间】:2019-01-21 14:48:39
【问题描述】:
我有一个 ASP.NET VB 应用程序,它尝试通过 SQL 查询连接到 SQL 数据库。我目前已设置好,以便用户通过以下方式在文本框中输入成员的名称:
<SelectParameters>
<asp:ControlParameter ControlID="textEntry" Name="Member_Name" PropertyName="Text" Type="String" />
</SelectParameters>
然后我有一个带有 SQLDataSource 的 GridView。在 SelectCommand 中,我有以下字符串试图从文本框中引用 Member_Name:
SelectCommand = "SELECT [Membership_ID], [Membership_Name], Sum([Spend_Total]) as Spend_Total FROM [Member_Table]
WHERE ([Membership_Name] LIKE" '%' + @Member_Name + '%' +")
GROUP BY Membership_ID, Membership_Name
"
但这不起作用。我实际上是在尝试复制 SQL LIKE '% string %' 功能,但我看不出我的代码有什么问题/如何修复它。
【问题讨论】:
-
为什么是
"和&"?试试SELECT [Membership_ID], [Membership_Name], Sum([Spend_Total]) as Spend_Total FROM [Member_Table] WHERE [Membership_Name] LIKE '%' + @Member_Name + '%' GROUP BY Membership_ID, Membership_Name -
我建议您首先尝试使用
=而不是LIKE并删除“%”,然后使用数据库中的实际条目。调试少了一件事情。 -
@AndrewMorton 这就是我最终要做的! LIKE 的复杂性太多,查询时间也更长!