で日付型に文字列から変換する: 私は聞かせてたとえばSQLサーバ
<asp:TextBox ID="date" runat="server" Width="200px" Text = "20110815"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="CalendarExtender" runat="server" PopupPosition="BottomLeft" PopupButtonID="date"
TargetControlID="date" Format="yyyyMMdd" FirstDayOfWeek="Monday">
</ajaxToolkit:CalendarExtender>
により、ユーザが入力日付問題私のストアドプロシージャでは、私は日付型として、その文字列を使用してみましたということです
@StartDate nvarchar(8),
@StartDate_int int =0
AS
BEGIN
select @StartDate_int=CAST(convert(varchar(12),DATEADD(week,DATEDIFF(week,0,@StartDate),0),112) as int)
select * from table where date(has int type)// = @StartDate_int
END
MS Server管理スタジオでストアドプロシージャをテストしようとすると、@StartDate = 20110101のパラメータが定義され、ストアドプロシージャがすべての修正された行を返しましたが、asp.netプロジェクト、@StartDateパラメータを設定するテキストボックスに文字列を入力すると、行が返されませんでした。
<asp:SqlDataSource ID="SqlDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SelectSpecificTimeSheet" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter DefaultValue="user" Name="UserName"
SessionField="loginState" Type="String"/>
<asp:ControlParameter DefaultValue="20110815" ControlID="date" Name="StartDate" PropertyName="Text" Type="String"/>
<asp:Parameter Name="StartDate_int" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
誰かが私が間違っていたものを私を見ることができます:(
ストアドプロシージャが呼び出しコードの代わりに変換を実行するのはなぜですか? –
ああ私はsqlサーバを学んでいるので、私はSQLで変換をしたい – Xitrum
girdviewに手作業でデータをバインドしようとした時にみんなに感謝し、それは働いた – Xitrum