如何将 C# 日期时间转换为预言机时间戳
本文关键字:转换 预言机 时间戳 时间 日期 | 更新日期: 2023-09-27 18:30:34
我正在尝试将 c# 日期时间作为时间戳存储到 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 注入和类型转换问题。如果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);