.net 不硬编码日期时间值的SQL查询
我正在使用.NET编写SQL查询以获取以下数据:.net 不硬编码日期时间值的SQL查询,.net,sql,.net,Sql,我正在使用.NET编写SQL查询以获取以下数据: DataReader d = null; d.executeQuery("select * from table where updated_date >= '11/6/2013 12:00:00'"); 我不想硬编码日期时间。如何初始化字符串并插入到查询中?我希望是这样 Datetime value = new Datetime(2013, 11, 6, 12, 0, 0); select * from table where upda
DataReader d = null;
d.executeQuery("select * from table where updated_date >= '11/6/2013 12:00:00'");
我不想硬编码日期时间。如何初始化字符串并插入到查询中?我希望是这样
Datetime value = new Datetime(2013, 11, 6, 12, 0, 0);
select * from table where updated_date >= 'value'"
这可能吗
限制是我有一组给定的API来查询数据库和一个用户定义的readerobject。这是我的查询API:
public void executeQuery(字符串查询)我将使用SqlCommand类来完成以下工作:
SqlCommand Myquery = new SqlCommand("select * from table where updated_date >= @MyDate");
Myquery.Parameters.Add(new SqlParameter("MyDate", SqlDbType.DateTime));
Myquery.Parameters["MyDate"].Value = DateTime.Now;
我将使用SqlCommand类来完成这项工作:
SqlCommand Myquery = new SqlCommand("select * from table where updated_date >= @MyDate");
Myquery.Parameters.Add(new SqlParameter("MyDate", SqlDbType.DateTime));
Myquery.Parameters["MyDate"].Value = DateTime.Now;
请注意,我使用撇号指定我想要/作为分隔符。如果仅使用/,则它们将替换为当前区域性的日期分隔符。所以在我的机器上
date.ToString("MM/d/yyyy hh:mm:ss")
返回2013年6月11日12:00:00
还要注意,我在格式字符串中使用了singled
。返回小于10个月的个位数
请注意,我使用撇号指定我想要/作为分隔符。如果仅使用/,则它们将替换为当前区域性的日期分隔符。所以在我的机器上
date.ToString("MM/d/yyyy hh:mm:ss")
返回2013年6月11日12:00:00
还要注意,我在格式字符串中使用了single
d
。返回个月的个位数<10。具体取决于您使用的数据库以及用于连接的机制。但几乎所有人都会支持这一点。查找绑定参数。具体取决于您正在使用的数据库以及用于连接的机制。但几乎所有人都会支持这一点。查找绑定参数。谢谢,但不幸的是,这可能对我不起作用。我有一套API给我。它们只能由公共void execquery(字符串查询)执行。是否有其他方法可以通过字符串传递查询。谢谢,但不幸的是,这可能对我不起作用。我有一套API给我。它们只能由公共void execquery(字符串查询)执行。是否有其他方法可以通过字符串传递查询。谢谢,但是我的API只接受单参数字符串查询。所以我不能用你提到的问题。你是什么意思?我向您展示了如何创建单个查询。它名为query:),所以您可以调用d.executeQuery(query);谢谢,但是我的API只接受一个参数字符串查询。所以我不能用你提到的问题。你是什么意思?我向您展示了如何创建单个查询。它名为query:),所以您可以调用d.executeQuery(query);