【发布时间】:2015-11-24 16:35:07
【问题描述】:
仍处于新手阶段,并且有一个项目在进行中。我搜索了谷歌并阅读直到我的眼睛流血。必须有一些我忽略的小东西。我需要将变量“dNum”传递给 SQL 查询。如果我不输入“SelectParameters”,它会告诉我需要声明标量变量,这是有道理的。我不能让它拿起变量..默认值确实有效。
任何指针?提前致谢。
<asp:TextBox ID="dNumber" runat="server"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="Go!" OnClick="runQuery" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Door_Clearance %>"
SelectCommand="SELECT a.Name, c.Name, c.Description
FROM [SWHSystem].[dbo].[Door] AS a
JOIN [SWHSystem].[dbo].[ClearanceItem] AS b ON a.ObjectID=b.DoorID
JOIN [SWHSystem].[dbo].[Clearance] AS c ON b.ClearanceID=c.ObjectID
WHERE a.Name LIKE @dNum1">
<SelectParameters> <asp:SessionParameter Name="dNum1"
SessionField="dNum"
DefaultValue='%1500%'/></SelectParameters>
</asp:SqlDataSource>
在.cs文件中..
protected void runQuery(object sender, EventArgs e)
{
string dNum = "'%" + dNumber.Text + "%'";
//SqlDataSource1.SelectParameters.Add("dNum1", dNum);
SqlDataSource1.SelectParameters["dNum1"].DefaultValue = "dNum";
}
【问题讨论】:
-
尝试使用
ControlParameter并让它引用dNumber控件。目前您正在使用SessionParameter,它将尝试从Session获取您的值。 -
尝试了几种变体,但始终无法正常工作。最终将其移至 .cs 代码,它终于可以工作了。
标签: sql asp.net variables using