yyyy-MM-dd
asp.net Webページ内のSQLストアドプロシージャに日付(フォーマット[ie 2013-08-01
]の文字列としてフォーマット)を渡そうとする面白い状況があります。ストアド プロシージャをセットアップしましたが、日付をパラメーターとして渡す必要があります。必要な日付は別の SQL テーブルにあるので、必要な日付を提供し、Web ページで非表示にするために非表示にできる を作成しましたTextBox
(これを と呼びますendDATE
)。
問題は、TextBox
が に含まれてDetailsView
いるため、ストアド プロシージャでアクセスできないようです。
私は、TextBox
使用している VB コードからストアド プロシージャに文字列を渡そうとする必要があると考えています。どうすればいいですか?
のコードTextBox
:
<asp:DetailsView ID="LatestDate" DataSourceID="SqlDataSource6" runat="server" AutoGenerateRows="false"
AutoGenerateColumns="False" BorderStyle="None" GridLines="None">
<Fields>
<asp:BoundField DataField="MostRecent" HeaderText="" ReadOnly="True" ShowHeader="False"
DataFormatString="Daily: {0:M/d/yyyy}" ItemStyle-CssClass="boldbig" />
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox runat="server" ID="endDATE" Visible="false" Text='<%# Eval("MostRecent","{0:yyyy-MM-dd}") %>' />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
ストアド プロシージャのコード [date1
は、提供しようとしているパラメーターです]:
<asp:SqlDataSource ID="SqlDataSource7" runat="server"
ConnectionString="<%$ConnectionStrings:ConnectionString3 %>"
ProviderName="<%$ ConnectionStrings:ConnectionString3.ProviderName %>"
SelectCommand="dbo.TheMgr_Total"
SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:QueryStringParameter name="MgrName" DbType="String" QueryStringField="id" />
<asp:Parameter Name="date1" DbType="String" DefaultValue="2013-08-08" />
</SelectParameters>
</asp:SqlDataSource>
更新: Steve のソリューションは私には良さそうに見えますが、機能させることはできませんでした。私のプロジェクトは方向性を変えたので、この特定の問題にはもう取り組んでいません。