c# winform按日期查找sql数据库

查询两个时间点之间的数据,能提供几段代码参考吗?... 查询两个时间点之间的数据,能提供几段代码参考吗? 展开
 我来答
xyz136299110
2012-06-10 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:251
采纳率:100%
帮助的人:146万
展开全部
首先你的查询逻辑里就是根据两个时间点返回一个数据源例如:DataTable/DataSet/Xml等
数据库连接字符例如:var connStr = Configuration.AppSetting["connStr"];
如:
public DataTable GetDataTable(DateTime? dtStart,DateTime? dtEnd)
{
var sql = "select * from [Table] Where 1 = 1 ";
if(dtStart.HasValue&&dtStart.Value!=DateTime.MinValue)
{
sql+= " and [Filed]>='"+dtStart+"' ";
}
if(dtEnd.HasValue&&dtEnd.Value!=DateTime.MinValue)
{
sql+=" and [Field]<='"+dtEnd+"' ";
}
return GetTable(sql,connStr);
}
private DataTable GetTable(string sql,string connectionString)
{
DataTable table = null;
var conn = new SqlConnection(connectionStrng);
try
{
conn.Open();
var cmd = new SqlCommand(sql,conn);
var sqlAdapter = new SqlAdapter();
table = new DataTable();
sqlAdaper.command = cmd;
sqlAdapter.Fill(table);
}
catch(Exceiption ex)
{
throw nex Exception(ex);
}
finally
{
conn.Close();
return table;
}
}
以上是C#实现的,一般都差不多这样写,但用ORM的话更简单,暂不提
如果是在sql里实现的话,更简单
select * from tablename where time between(time1,time2);
追问
我是在两个textbox里面输入的时间,转换一下就好了吗?
追答
对啊,你输入的时候就直接传给DateTime?就可以了啊
比如页面上就是
DateTime? dt = (default)DateTime;
var dtStart = this.TextBox1.Text;
if(DateTime.TryParse(dtStart,out dt))
{

}
这样就可以转换得到一个时间了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s754325545
2012-06-09
知道答主
回答量:32
采纳率:0%
帮助的人:14.3万
展开全部
select * from tablename where time between(time1,time2);
select * from tablename where time >time1 and time <time2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ddb4a22
2012-06-10 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:104万
展开全部
先将时间用Conver转换一下,然后再查询
追问
我是在两个textbox里面输入的时间,转换一下就好了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappwVGMZPDjZIFXf
2012-06-09
知道答主
回答量:14
采纳率:0%
帮助的人:5.2万
展开全部
你说的有点抽象,是要知道SQL,还是要知道winfrom怎么查数据库。。
追问
winfrom 如何查数据库?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式