【发布时间】:2019-07-26 03:00:44
【问题描述】:
我从我的 jQuery 日期时间选择器中获得了这个日期,我能够检索用户选择的内容,但在 Oracle 中,Datehired 的数据类型是Date。
问题是我如何将其转换为日期,以便将其插入我的数据库中?
这是来自 jQuery 的日期:
string dt = Request.Form[txtDate.UniqueID];
这是我的 jQuery:
<asp:TextBox ID="txtDate" runat="server" ReadOnly = "true"></asp:TextBox>
<script type="text/javascript">
$(function () {
$("[id*=txtDate]").datepicker();
});
</script>
我的插入语句:
string query = "sp_employee_insert";
if (con.State == ConnectionState.Open)
{
con.Close();
}
con.Open();
OracleCommand cmd = new OracleCommand(query, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@in_EMPLOYEEID", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_EMPLOYEENAME", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_STATUS", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_SUPERIORID", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_MANAGERSUPERIORID", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_BFG", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_DATEHIRED", OracleDbType.Date);
cmd.Parameters.Add("@in_DESIGNATION", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_JOBGRADE", OracleDbType.Int32);
cmd.Parameters.Add("@in_EMAILADDRESS", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_PRODUCTLINE", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_STATION", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_MACHINE", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_OPERATIONGROUP", OracleDbType.Varchar2);
cmd.Parameters.Add("@in_ISACTIVE", OracleDbType.Varchar2);
cmd.Parameters["@in_EMPLOYEEID"].Value = txtEMPLOYEEID.Text;
cmd.Parameters["@in_EMPLOYEENAME"].Value = txtEMPLOYEENAME.Text;
cmd.Parameters["@in_STATUS"].Value = txtSTATUS.Text;
cmd.Parameters["@in_SUPERIORID"].Value = txtSUPERIORID.Text;
cmd.Parameters["@in_MANAGERSUPERIORID"].Value = txtMANAGERSUPERIORID.Text;
cmd.Parameters["@in_BFG"].Value = txtBFG.Text;
cmd.Parameters["@in_DATEHIRED"].Value = date;
cmd.Parameters["@in_DESIGNATION"].Value = txtDESIGNATION.Text;
cmd.Parameters["@in_JOBGRADE"].Value = txtJOBGRADE.Text;
cmd.Parameters["@in_EMAILADDRESS"].Value = txtEMAILADDRESS.Text;
cmd.Parameters["@in_PRODUCTLINE"].Value = txtPRODUCTLINE.Text;
cmd.Parameters["@in_STATION"].Value = txtSTATION.Text;
cmd.Parameters["@in_MACHINE"].Value = txtMACHINE.Text;
cmd.Parameters["@in_OPERATIONGROUP"].Value = txtOPERATIONGROUP.Text;
cmd.Parameters["@in_ISACTIVE"].Value = txtISACTIVE.Text;
cmd.ExecuteNonQuery();
【问题讨论】:
-
Oracle 中的
date数据类型始终包含日期和时间组件。如果您对其应用trunc,则该值将“四舍五入”到当天午夜(例如 26.07.2019 07:13:22 将变为 26.07.2019 00:00:00),但时间 (00:00:00 ) 将会留存。因此,看看应用to_char函数和适当的格式掩码(在目标中可识别)是否会有所帮助;例如,to_char(date_value, 'dd.mm.yyyy')将导致 26.07.2019(不会再有 00:00:00)。 -
我的意思是,字符串日期 = Request.Form[txtDate.UniqueID];如何 iconvert 这个,对不起,我是 oracle 和 asp.net 的新手
-
当我使用 toad 时,为什么表中的数据只有 2019 年 7 月 26 日
-
我对asp.net一无所知。从 TOAD 开始:您看到的日期格式取决于您在 TOAD Options 中设置该属性的方式。