我正在尝试将字符串转换为 TimeSpan 并将其保存到我的 MS Access 数据库中。但我似乎无法正确转换它。
如果您能在下面查看我的代码,我将不胜感激。谢谢!
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
CultureInfo culture;
culture = CultureInfo.CurrentCulture;
string pNum = patientNum.Text;
string pFname = Firstname.Text;
string pLname = Lastname.Text;
string cpNum = contactNum.Text;
DateTime aDate = DateTime.ParseExact(appDate.Text, "MM/dd/yyyy", culture);
TimeSpan aTime = TimeSpan.ParseExact(appTime.Text, "hh:mm tt", culture);
string aTreat = treat.Text;
string aCost = treatCost.Text;
string aRemark = appRemarks.Text;
OleDbCommand con = new OleDbCommand("Insert into appointments1(patientNo,firstName,lastName,contactNo,date,time,treatment,cost,remarks)" + "Values (@patientNo,@firstName,@lastName,@contactNo,@date,@time,@treatment,@cost,@remarks)");
con.Connection = connection;
connection.Open();
con.Parameters.Add("@patientNo", OleDbType.Integer).Value = pNum;
con.Parameters.Add("@firstName", OleDbType.VarChar).Value = pFname;
con.Parameters.Add("@lastName", OleDbType.VarChar).Value = pFname;
con.Parameters.Add("@conatctNum", OleDbType.VarChar).Value = cpNum;
con.Parameters.Add("@date", OleDbType.Date).Value = aDate;
con.Parameters.Add("@time", OleDbType.DBTime).Value = aTime;
con.Parameters.Add("@treatment", OleDbType.VarChar).Value = aTreat;
con.Parameters.Add("@cost", OleDbType.Currency).Value = aCost;
con.Parameters.Add("@remarks", OleDbType.VarChar).Value = aRemark;
try
{
con.ExecuteNonQuery();
MessageBox.Show("Appointment Added!");
raiseUpdate();
connection.Close();
this.Dispose();
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
谢谢大家的回答,我能够弄清楚。
Access 确实没有“特殊时间”(?)不确定这是否是你们中的一个人的意思,但我将时间更改为“日期”。
con.Parameters.Add("@date", OleDbType.Date).Value = aDate;
con.Parameters.Add("@time", OleDbType.Date).Value = aTime;
即使我将值保存为字符串,它也能正常工作
string aDate = appDate.Text;
string aTime = appTime.Text;
我开始了解到“日期”和“时间”是保留字。不确定 C# 是否区分大小写,但比抱歉更安全。所以我不得不添加方括号来包裹我的列名。在这里查看信息。
OleDbCommand con = new OleDbCommand("INSERT INTO [appointments1]([patientNo], [firstName], [lastName], [contactNo], [date], [time], [treatment], [cost], [remarks])" +
"VALUES(@patientNo, @firstName, @lastName, @contactNo, @date, @time, @treatment, @cost, @remarks)");
现在,我的代码一切正常。谢谢!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句