在我的窗口应用程序中,我想显示两个日期之间的记录.我使用datepicker来选择日期.在sql server 2008表中,我使用数据类型[date]来存储日期.我的问题是它没有正常工作来捕获第一个日期,它捕获我选择的下一个日期.我使用以下代码:
cmd5.Parameters.AddWithValue("date1",dateTimePicker4.Value); cmd5.Parameters.AddWithValue("date2",dateTimePicker5.Value);
当我尝试这个:
cmd5.Parameters.AddWithValue("date1",dateTimePicker4.Value.AddDays(-1)); cmd5.Parameters.AddWithValue("date2",dateTimePicker5.Value);
结果-
我的完整代码
cmd10 = new sqlCommand("select a_id,commtyp,convert(varchar(10),date,105),comm,primm,c_id,agent from comm where a_id= '" + textBox1.Text + "' AND date >= @date1 AND date <= @date2 ",agr); cmd10.Parameters.AddWithValue("@date1",dateTimePicker1.Value.AddDays(-1)); cmd10.Parameters.AddWithValue("@date2",dateTimePicker2.Value); adp = new sqlDataAdapter(cmd10); DataSet ds = new DataSet(); adp.Fill(ds,"comm"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "comm"; checkBox2.Checked = false; groupBox15.Show(); cmd10.Parameters.Clear();
解决方法
您正在使用来自datepicker的value属性,它为您提供了秒和毫秒的日期.你必须从它的值得到实际的datepart.
试试这个
dateTimePicker4.Value.Date
代替
dateTimePicker4.Value
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。