-1

我在 ASP.NET 和 SqlServer 中工作。

我的应用程序中有两个带有日历扩展器的文本框,用户将在其中选择两个日期。我想从 sqlserver 获取这两个日期之间的数据,其中该特定字段的数据类型是DateTime。请告诉我如何继续这个......我写了一个查询,但那不起作用..

我的查询:

  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 回答
0

试试这个

SELECT * FROM YourTableName WHERE sqlDateColumnName BETWEEN '" + textbox1.Text + "' AND '" + textbox2.Text + "'

于 2017-02-07T13:47:11.950 回答