C# 如何在SQL select查询中添加参数?
如何在SQL select查询中添加参数C# 如何在SQL select查询中添加参数?,c#,sql,sql-server,C#,Sql,Sql Server,如何在SQL select查询中添加参数 string time = 2013-09-25 00:00:00; 我希望在下面提到的SQL查询中使用time变量 Select LastUpdated from Employee where LastUpdated > time; 试试这个: string sqlDate = time.ToString("yyyy-MM-dd HH:mm:ss.fff"); 您可以使用以下命令将C#代码中的字符串转换为DateTime DateTime.
string time = 2013-09-25 00:00:00;
我希望在下面提到的SQL查询中使用time
变量
Select LastUpdated from Employee where LastUpdated > time;
试试这个:
string sqlDate = time.ToString("yyyy-MM-dd HH:mm:ss.fff");
您可以使用以下命令将C#代码中的字符串转换为DateTime
DateTime.TryParse()或Convert.ToDateTime()
或
使用将SQL中的VARCHAR转换为DATETIME
Convert(datetime,time)
似乎OP要问的是如何将SQL Server中的VARCHAR
转换为datetime
,而不是将C中的字符串
转换为datetime
您将需要使用以下命令来转换为DATETIME
:
SELECT LastUpdated
FROM Employee
WHERE LastUpdated > CONVERT(datetime, varTime, 121);
有关更多信息,请参见以下内容
不过,为了响应其他方法,只需将参数作为datetime传入,并让数据库提供程序工厂处理适当类型的转换,或者添加一个实际返回datetime
的新方法。将来,我不会为方法命名GetUpdateTime
,除非它实际返回一种Time
类型。我只是把我的问题框在一个错误的框架中,但查询仍然是一样的。我只是想将time
作为参数添加到我的SQL查询中。相同的代码如下所示
String commandText = "Select LastUpdated from Employee where LastUpdated > :time;";
OracleConnection connection = new OracleConnection(connectionString);
OracleCommand command = new OracleCommand(commandText, connection);
command.Parameters.Add("time", time);
非常感谢你的帮助!
我的缺点是我不能正确地框定问题。将其作为带有datetime
数据类型的参数传入。是否有特定原因说明变量的类型为string
而不是datetime
或DateTimeOffset
?为什么GetUpdateTime()返回字符串。将其更改为returndatetime。不要费心在这里转换@SherazAhmed的可能副本,该链接用于将datetime转换为字符串,我想您根本不理解。请再次查看该问题,您的答案是否定的。@m_alpha,请帮助我理解它。字符串时间=GetUpdateTime();time=2013-09-25 00:00:00这是C代码还是SQL?嗨,我尝试了同样的方法,即CONVERT(datetime,varTime,121)
,但在这种情况下,编译器假定varTime
是bd中的一列,因此抛出错误。在我的例子中,varTime是C#代码中字符串类型的变量,我希望在SQL查询中使用该变量的值。i、 e在CONVERT(datetime,varTime,121)
中,我希望将变量varTime
的值转换为datetime类型。@m_alpha在C#应用程序中如何准备/执行查询?您能否提供代码作为问题的编辑,并在有问题时通知我?