<asp:HiddenField ID="hfDualInitials" runat="server" Visible="false" OnInit="hfDualInitials_OnInit" />
<asp:SqlDataSource ID="sdsStoreNo" runat="server" ConnectionString="<%$ ConnectionStrings:ConnStr %>"
SelectCommand="select * from AccountCancellation_Process
where store_num in (select distinct storeno from franchisedata where initials in (@DualInitials))
order by CustomerName ASC" >
<SelectParameters>
<asp:ControlParameter ControlID="hfDualInitials" DbType="String" Name="DualInitials" />
</SelectParameters>
</asp:SqlDataSource>
Ich habe einen SQLDataSource mit dem oben ausgewählten Befehl und dem folgenden Code, um den Wert HiddenASP.net: SQLDataSource und Session-Variablen
Protected Sub hfDualInitials_OnInit(ByVal sender As Object, ByVal e As EventArgs)
Dim _DualInitials As String = "('P2','7T')"
Session.Add("DualInitials", _DualInitials)
Me.hfDualInitials.Value = Session("DualInitials")
End Sub
ich spöttisch die Session mit (‚P2‘ einstellen , '7T'), die in den obigen sql-Befehl übergeben wird. wenn ich die Abfrage ausführen:
select * from AccountCancellation_Process where store_num in (select distinct storeno from franchisedata where initials in ('P2','7T'))
es einige Daten zurück, aber in meinem SQLDataSource Auswahlbefehl. Es gibt nichts zurück. Meine Vermutung ist wegen der wo Initialen in (@DualInitials) die(), die bereits im hiddenfield ist, aber wenn ich das() entferne und nur @DualInitials habe. Ich bekomme "Falsche Syntax in der Nähe von '@DualInitials'."
Kennt jemand eine Problemumgehung oder wo bekomme ich es falsch?
ein besonderen Grund, warum ich bekam -1 hier? Die IN-Anweisung behandelt den Parameter als String und nicht als Sequenz. Ich habe Jacks Problem gelöst. wtf? – Ruslan