私にはGridView
とSqlDataSource
があります。 SelectCommand
がSqlDataSource
のDateTime SelectParameterをSqlDataSourceに渡す
SELECT * FROM Transfers WHERE Timestamp >= '{0}' AND Timestamp <= '{1}'
パラメータのようなものです:このパラメータを設定するI背後にあるコードで次に
<SelectParameters>
<asp:Parameter Name="StartDate" Type="DateTime" />
<asp:Parameter Name="EndDate" Type="DateTime" />
</SelectParameters>
:
protected void gvTransfers_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
e.Command.Parameters["@StartDate"].Value = DateTime.Parse(txtStartDate.Text);
e.Command.Parameters["@EndDate"].Value = DateTime.Parse(txtEndDate.Text);
}
私は上記のコードをデバッグし、それが良いDateTime
を実行し、設定します値。 GridView
が、それは例外
Conversion failed when converting date and/or time from character string.
をスローデータバインドされている場合しかし、私は適切な方法でDateTime
を渡す方法を探しに時間を費やしました。私は間違って何をしていますか? SQL、マークアップ、またはコードを変更する必要がありますか?
また、FilterParameters
を試してみましたが、さまざまな形式のテキストボックスから日付を取得しましたが、成功しませんでした。
どのSQL Serverバージョンを使用していますか – Devjosh
DateTime.Parse(txtStartDate.Text).ToString( "dd-MMM-yyyy")を使用してみましたか? –
Sql Server 2008 R2 – Episodex