gpt4 book ai didi

c# - 如何将 c# datetime 转换为 oracle 时间戳?

转载 作者:行者123 更新时间:2023-12-04 01:45:44 25 4
gpt4 key购买 nike

我正在尝试将 c# datetime 存储到 oracle 数据库中作为时间戳,它存储时没有问题,但是当我尝试从数据库中选择特定日期的数据时,它给我错误,因为月份无效..

DateTime sessiondate =DateTime.Now();
int userid_int = 101;
string userTypeis ='ENGINEER';

string get_Log_query = "SELECT LOG_ID FROM JOINTING_LOGIN_LOG where USER_ID="+userid_int+" and USER_TYPE='"+userTypeis+"' and SESSION_START='"+sessiondate+"'";

最佳答案

string get_Log_query = "SELECT LOG_ID FROM JOINTING_LOGIN_LOG where USER_ID="+userid_int+" and USER_TYPE='"+userTypeis+"' and SESSION_START='"+sessiondate+"'";

您永远不应该使用字符串连接来构建带参数的查询。参数化查询会更快并帮助您避免 SQL Injection和类型转换的麻烦。如果 SESSION_START 真的是时间戳,您的代码将是 -

string get_Log_query = 
@"SELECT LOG_ID
FROM JOINTING_LOGIN_LOG
WHERE USER_ID= :USER_ID
and USER_TYPE= :USER_TYPE
and SESSION_START= :SESSION_START";

cmd.Parameters.Add("USER_ID", OracleDbType.Decimal, userid_int, ParameterDirection.Input);
cmd.Parameters.Add("USER_TYPE", OracleDbType.Varchar2, userTypeis, ParameterDirection.Input);
cmd.Parameters.Add("SESSION_START", OracleDbType.TimeStamp, sessiondate, ParameterDirection.Input);

关于c# - 如何将 c# datetime 转换为 oracle 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34825432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com