在 c# 中将字符串转换为日期时间格式时出错
本文关键字:时间 日期 格式 出错 转换 字符串 | 更新日期: 2023-09-27 18:36:53
我在执行 sqlcommand 时收到错误"将 varchar 数据类型转换为日期时间数据类型导致值超出范围。输入日期时间是"10/24/2013 06:25:30 PM"C# 代码
string sa1 = dateTimePicker1.Value.ToString("MM/dd/yyyy");
string fr = textBox1.Text;
string dt = sa1 + " " + fr;
string to = textBox2.Text;
string dt1 = sa1 + " " + to;
DateTime tim = DateTime.ParseExact(dt.ToString(), "MM/dd/yyyy hh:mm:ss tt",System.Globalization.CultureInfo.InvariantCulture);
DateTime tim1 = DateTime.ParseExact(dt1.ToString(), "MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);
DateTime tim2 = Convert.ToDateTime(tim);
DateTime tim3 = Convert.ToDateTime(tim1);
dataGridView1.Rows.Clear();
SqlConnection con = new SqlConnection("Data Source=173.83.250.71,1433; Network Library=DBMSSOCN; Initial Catalog=paradigm;User Id=sa; password=Paradigm123");
con.Open();
SqlCommand cmd = new SqlCommand("insert into paradigm.dbo.driverotcalc ( emp_no, fro, too, purpose, totalhrs, entdate, amount) values('" + emp.ToString() + "','" + tim2.ToString() + "','" + tim3.ToString() + "','" + textBox3.Text + "','" + textBox4.Text + "','" + DateTime.Now + "','" + textBox5.Text + "')",con);
cmd.ExecuteNonQuery();
任何人都可以帮助我解决这个问题。
插入DateTime.Now。我怀疑格式与数据库中的日期格式不同。尝试:
string formatDB ="YYYY/MM/dd";
DateTime.Now.ToString(formatDB);
将 formatDB 替换为数据库中的日期格式