經與發現這樣做的正確的語法麻煩的日期。這裏是我的領域在ASP方面:格式,以便它可以寫入到Oracle(「不是有效的月份」錯誤)
<input type="text" id="EI_Open_AuditStartDt" class="datepicker" runat="server"
name="EI_Open_AuditStartDt" value='<%#Eval("Audit_Start_Date") %>'
style="width: 100px" />
在這裏,在C#是我的一部分代碼隱藏:
HtmlInputText EI_Open_AuditStartDt = (HtmlInputText)DataGrid_Open.Rows[e.RowIndex].FindControl("EI_Open_AuditStartDt");
TextBox EI_Open_TransCIT = (TextBox)DataGrid_Open.Rows[e.RowIndex].FindControl("EI_Open_TransCIT");
string StartDt = String.Format("{0:dd-mmm-yyyy}", EI_Open_AuditStartDt.Value);
string TransCIT = EI_Open_TransCIT.Text;
DataGrid_RootCauses.EditIndex = -1;
OracleConnection conn = GetConnection();
try
{
using (OracleCommand cmd = new OracleCommand("CST_AMR_WRITE_OPENSTATUS", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
using (OracleDataAdapter da = new OracleDataAdapter(cmd))
{
cmd.Parameters.AddWithValue("v_StartDt", OracleType.DateTime).Value = StartDt;
cmd.Parameters.AddWithValue("v_TransCIT", OracleType.VarChar).Value = TransCIT;
的問題是,當它到達字符串StartDt,但仍看到值,說,「03/24/2017」而不是「24-MAR-17」,所以我得到「不是有效月份」的錯誤。
任何人都可以看到我在做什麼錯?
我的猜測是,存儲過程採取字符串,而不是日期的說法。 –
@GordonLinoff難道不是說有效日期而不是月份?你最有可能是正確的,因爲它說'OracleType.DateTime'和一個字符串被插入(不能很好?) – EpicKip
嗯,這是有道理的。那麼我如何正確格式化它,以便它可以作爲日期傳遞? –