我在SQL Server数据库中有错误

时间:2013-11-29 19:09:28

标签: c# sql sql-server

我想将从组合框输入的日期作为字符串与保存到SQL Server数据库中的日期进行比较,然后将一些值X求和但是比较不起作用...

string from = (comboBox4.Text+ '/' + comboBox5.Text + '/' + comboBox6.Text+ " 00:00:00 AM");
string to = (comboBox1.Text+ '/' + comboBox2.Text + '/' + comboBox3.Text);    

cmd.CommandText = "SELECT * from issued where issued.Date >='" +from + " ' And issued.Date < '" + to + " ' "; //مقارنة الاسم
dr = cmd.ExecuteReader();

if (dr.HasRows)
{
   while (dr.Read())
   {
       item = new ListViewItem(dr[0].ToString());
       item.SubItems.Add(dr[4].ToString());
       f6.listView1.Items.Add(item);
       x += Convert.ToInt16(dr[4]);
   }
}

请帮帮我..

1 个答案:

答案 0 :(得分:2)

正如Marc上面所说,你真的应该小心这里的SQL注入攻击。查阅并进行一些研究,因为有一天你会突然发现你的服务器已经被破坏了。

您的Date列是Date还是DateTime?如果是DateTime,那么简单地在特定日期进行比较就不包括上限的日期。例如,如果您的日期是:

来自:2013年1月1日 致:2014年1月1日

然后您的比较不会返回2014年1月1日的任何值,搜索中包含的最后日期实际上是12/31/2013。

在您的问题中添加一些更具体的信息,说明您在sql中实际发送的值以及数据库中的类型,您将获得更好的答案!

祝你好运!