Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 是否以多日期/时间格式将日期时间从mvc转换为Oracle?_Asp.net Mvc_Oracle_Datetime Format - Fatal编程技术网

Asp.net mvc 是否以多日期/时间格式将日期时间从mvc转换为Oracle?

Asp.net mvc 是否以多日期/时间格式将日期时间从mvc转换为Oracle?,asp.net-mvc,oracle,datetime-format,Asp.net Mvc,Oracle,Datetime Format,这是我的项目中更新的查询 string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12=to_date('" + DateTime.Now.ToString("dd/MMM/yyyy HH:mm:ss", new CultureInfo("en-US")) + "','DD/MM/YYYY HH24:MI:SS') " + " where tc_lsn01 =:DocNo and tc_lsn02 =:Flo

这是我的项目中更新的查询

string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12=to_date('" + DateTime.Now.ToString("dd/MMM/yyyy HH:mm:ss", new CultureInfo("en-US")) + "','DD/MM/YYYY HH24:MI:SS') " +
" where tc_lsn01 =:DocNo and tc_lsn02 =:FlowNo and tc_lsn05 =:Plant and tc_lsn09 =:UserName";
我尝试了很多方法来更新Datetime

to_date('" + DateTime.Now.ToString("dd/MMM/yyyy HH:mm:ss", CultureInfo.InvariantCulture) + "', 'DD/MON/YYYY HH24:MI:SS')

to_date('" + DateTime.Now.ToString("dd/MMM/yyyy HH:mm:ss") + "','DD/MON/YYYY HH24:MI:SS')

to_date('" + DateTime.Now.ToString("dd/M/yyyy HH:mm:ss") + "','DD/MM/YYYY HH24:MI:SS')
但当我在计算机中更改日期时间格式时,它是错误的。 我的电脑格式包括越南、台湾和英语-美国

这是执行查询时的代码

cmd.CommandType = CommandType.Text;
//Update CurrentFlow
cmd.CommandText = updateCurrentFlow;
cmd.Parameters.Add(new OracleParameter("DocNo", DocNo));
cmd.Parameters.Add(new OracleParameter("FlowNo", FlowNo));
cmd.Parameters.Add(new OracleParameter("Plant", Plant));
cmd.Parameters.Add(new OracleParameter("UserName", UserName));
//cmd.Parameters.Add("DateNow", OracleDbType.Date).Value = DateTime.Now;
currentSigningFlowRowAffected = cmd.ExecuteNonQuery();
我不知道怎么解决它?我试过很多方法,请帮忙。
非常感谢

只需像这样使用SQL字符串:

string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12 = :theDate 
    where tc_lsn01 =:DocNo and tc_lsn02 =:FlowNo and tc_lsn05 =:Plant and tc_lsn09 =:UserName";

cmd.Parameters.Add("theDate ", OracleDbType.Date, ParameterDirection.Input).Value = DateTime.Now;
cmd.Parameters.Add(new OracleParameter("DocNo", DocNo));
cmd.Parameters.Add(new OracleParameter("FlowNo", FlowNo));
cmd.Parameters.Add(new OracleParameter("Plant", Plant));
cmd.Parameters.Add(new OracleParameter("UserName", UserName));
如果需要的话,驱动程序会进行适当的转换,您不必担心这一点

或者更简单的是:

string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12 = SYSDATE
    where tc_lsn01 =:DocNo and tc_lsn02 =:FlowNo and tc_lsn05 =:Plant and tc_lsn09 =:UserName";

cmd.Parameters.Add(new OracleParameter("DocNo", DocNo));
cmd.Parameters.Add(new OracleParameter("FlowNo", FlowNo));
cmd.Parameters.Add(new OracleParameter("Plant", Plant));
cmd.Parameters.Add(new OracleParameter("UserName", UserName));

只需像这样使用SQL字符串:

string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12 = :theDate 
    where tc_lsn01 =:DocNo and tc_lsn02 =:FlowNo and tc_lsn05 =:Plant and tc_lsn09 =:UserName";

cmd.Parameters.Add("theDate ", OracleDbType.Date, ParameterDirection.Input).Value = DateTime.Now;
cmd.Parameters.Add(new OracleParameter("DocNo", DocNo));
cmd.Parameters.Add(new OracleParameter("FlowNo", FlowNo));
cmd.Parameters.Add(new OracleParameter("Plant", Plant));
cmd.Parameters.Add(new OracleParameter("UserName", UserName));
如果需要的话,驱动程序会进行适当的转换,您不必担心这一点

或者更简单的是:

string updateCurrentFlow = "update tc_lsn_file set tc_lsn10 = '2',tc_lsn12 = SYSDATE
    where tc_lsn01 =:DocNo and tc_lsn02 =:FlowNo and tc_lsn05 =:Plant and tc_lsn09 =:UserName";

cmd.Parameters.Add(new OracleParameter("DocNo", DocNo));
cmd.Parameters.Add(new OracleParameter("FlowNo", FlowNo));
cmd.Parameters.Add(new OracleParameter("Plant", Plant));
cmd.Parameters.Add(new OracleParameter("UserName", UserName));

当我在我的电脑中将格式改为越南时,也会出现错误SOORA-01843:不是有效的月份,你确定吗?注意,必须首先添加日期参数。顺序必须匹配(除非您设置了
cmd.BindByName=true;
)哦,我在最后添加了它。但是,我尝试了这个
来确定日期(“+DateTime.Now.ToString(“M/dd/yyyyy HH:mm:ss”,“新文化信息”(“en-US”))+”,“mm/dd/yyyyyy HH24:MI:ss”)
,没问题。无论如何,非常感谢当我在我的电脑里把格式改成越南的时候,也是错误的。不是一个有效的月份,你确定吗?注意,必须首先添加日期参数。顺序必须匹配(除非您设置了
cmd.BindByName=true;
)哦,我在最后添加了它。但是,我尝试了这个
来确定日期(“+DateTime.Now.ToString(“M/dd/yyyyy HH:mm:ss”,“新文化信息”(“en-US”))+”,“mm/dd/yyyyyy HH24:MI:ss”)
,没问题。无论如何,非常感谢