我正在尝试使用“添加按钮”通过 asp.net C# 网页将记录插入到数据库中。我的数据库上的日期格式是“dd/MON/yyyy”。isert 语句在我的数据库上运行良好,但在 asp.net 中却没有。
在我的数据库上::工作正常!
INSERT INTO EVENT (RES_ID,EMP_ID,PHONE_NUMBER,EVENT_DT,TIME_SLOT)
values (null,100,'123-123-1233','01/Oct/2012','08:00 PM - 12:00 AM');
Run Code Online (Sandbox Code Playgroud)
Om myaspx.cs 页面:: 抛出错误""插入记录时出错!ORA-01843: 不是网页上的有效月份""。
string insertSQL;
insertSQL = "insert into event (res_id,emp_id,phone_number,event_dt,time_slot) ";
insertSQL += " values (:res_id,:emp_id,:phone_number,:event_dt,:time_slot)";
OracleConnection con = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand(insertSQL, con);
cmd.Parameters.Add(":emp_id", cboResOrEmpName.SelectedValue);
cmd.Parameters.Add(":res_id", null);
cmd.Parameters.Add(":phone_number", txtContactNo.Text);
cmd.Parameters.Add(":time_slot", rblTimeSlot.Text);
cmd.Parameters.Add(":event_dt", txtEvtDt.Text);
// Try to open the database and execute the update.
int added = 0;
try
{
con.Open();
added = cmd.ExecuteNonQuery();
lblResults.Text = added.ToString() + " record added!";
}
catch (Exception err)
{
lblResults.Text += "Error inserting record! ";
lblResults.Text += err.Message;
}
finally
{
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
我使用文本框作为带有 AJAX caledar 扩展的事件日期。下面是它的定义。
<asp:TextBox ID="txtEvtDt" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="txtEvtDt_CalendarExtender" runat="server"
TargetControlID="txtEvtDt" Format="dd/MMM/yyyy">
</asp:CalendarExtender>
Run Code Online (Sandbox Code Playgroud)
请帮助我理解问题。任何帮助是极大的赞赏。谢谢!
希望这会奏效
cmd.Parameters.Add(":event_dt", DateTime.ParseExact(txtEvtDt.Text, "dd/MMM/yyyy", CultureInfo.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11698 次 |
| 最近记录: |