-1

私は ASP.NET と SqlServer で作業しています。

ユーザーが2つの日付を選択するアプリケーションに、カレンダーエクステンダーを備えた2つのテキストボックスがあります。特定のフィールドのデータ型がDateTimeであるsqlserverから、これら2つの日付の間のデータを取得したいと考えています。これを進める方法を教えてください...クエリを書きましたが、うまくいきません..

私の質問:

  SqlCommand cmd = new SqlCommand("select top 1 OrderNumber from tblOrderMaster where OrderedDate>='" + txtfromcal.Text + "' and OrderedDate<='" + txttocal.Text + "' ", conn);
4

3 に答える 3

7

やる事

  • SQLインジェクションを防ぐためにクエリをパラメータ化しました
  • ステートメントを使用usingしてオブジェクトを適切に破棄する
  • ブロックを使用try-catchして例外を処理する

例えば、

string query = @"select top 1 OrderNumber 
                from tblOrderMaster 
                where OrderedDate BETWEEN @startDate AND @endDate";
using(SqlConnection conn = new SqlConnection("connectionString here"))
{
    using(SqlCommand cmd = new SqlCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText = query;
        cmd.Parameters.AddWithValue("@startDate", txtfromcal.Text);
        cmd.Parameters.AddWithValue("@endDate", txttocal.Text);
        try
        {
            conn.Open();
            // other codes
            // to fetch the record
        }
        catch(SqlException e)
        {
            // do something with 
            // e.ToString()
        }
    }
}

ソース

于 2013-01-16T07:48:52.150 に答える
1

このコードを使用してください:

Sqlcommand cmd=new sql command ("Select data from tablename 
                                where date>=startdate 
                                and date<=enddate",connection)
于 2013-02-04T09:21:19.673 に答える