如果日期早于12,则以DD/MM/YYYY
格式在文本框中输入日期时,它将存储为MM/DD/YYYY
。我需要将它存储为打字。
protected void InsertButton_Click(object sender, EventArgs e)
{
Int32 claim = (Int32)Session["Claim"];
string claim1 = Convert.ToString(claim);
Label4.Text = "Claim Number : " + (String)claim1;
Label4.Visible = true;
// declare variables to hold info enterend by user
string expenseType;
string purpose;
decimal amount;
DateTime date;
Boolean receipts;
//assign info entered to variables entered above
expenseType = DropDownList1. Text;
purpose = PurposeofExpenseTextBox.Text;
amount = Convert.ToDecimal(AmountSpentTextBox.Text);
date = Convert.ToDateTime(DatePurchasedTextBox.Text);
receipts = CheckBox1.Checked;
DateTime today = DateTime.Today;
// create connection string "conn"
string mapPath = Server.MapPath(".");
string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data source= "*****";
OleDbConnection conn = new OleDbConnection(ConnectionString);
try
{
//create query to insert values into Expenses table
OleDbCommand cmd = new OleDbCommand("INSERT INTO Expenses (ExpenseType, PurposeofExpense, AmountSpent, DatePurchased, strEmpName, Receipts, EmployeeID, ExpNumber) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", conn);
cmd.Parameters.Add("@ExpenseType", OleDbType.VarChar).Value = DropDownList1.Text;
cmd.Parameters.Add("@PurposeofExpense", OleDbType.VarChar).Value = PurposeofExpenseTextBox.Text;
cmd.Parameters.Add("@AmountSpent", OleDbType.VarChar).Value = AmountSpentTextBox.Text;
cmd.Parameters.Add("@DatePurchased", OleDbType.VarChar).Value = DatePurchasedTextBox.Text;
cmd.Parameters.Add("@strEmpName", OleDbType.VarChar).Value = (String)Session["New"];
cmd.Parameters.Add("@Receipts", OleDbType.Boolean).Value = CheckBox1.Checked;
cmd.Parameters.Add("@EmployeeID", OleDbType.VarChar).Value = (String)Session["Number"];
cmd.Parameters.Add("@ExpNumber", OleDbType.VarChar).Value = (Int32)Session["Claim"];
//open connection "conn"
conn.Open();
//execute insert query
cmd.ExecuteNonQuery();
答案 0 :(得分:2)
来自MSDN:
日期值必须根据ODBC规范分隔 日期格式或由日期时间分隔符(“#”)分隔。除此以外, Microsoft Access将该值视为算术表达式 不会发出警告或错误。例如,日期“3月5日, 1996年“必须表示为{d'1996-03-05'}或#03/05/1996#; 否则,如果仅提交03/05/1993,Microsoft Access将 将此评估为3除以5除以1996.此值向上舍入 到整数0,由于零日映射到1899-12-31,这是 使用的日期。管道符(|)不能用在日期值中, 即使用后面的引号括起来。
您需要在保存之前检查日期格式。使用一些面具。