从字符串转换日期 and/or 时间时如何修复转换失败

How do I fix Coversion failed when converting date and/or time from character string

con.open();
SqlCommamd comm = new SqlCommand("Insert into Debt_Tab values('"+Textbox1.text+"')",con);
comm.ExecuteNonQuery();

Textbox1 我在 Sql table.

中被声明为 DateTime

试试这个:-

Convert.ToDateTime()

示例:-

con.open();
SqlCommamd comm = new SqlCommand("Insert into Debt_Tab values('"+ Convert.ToDateTime(Textbox1.text).ToString("mm/dd/yyyy") +"')",con);
comm.ExecuteNonQuery();

设置日期格式的方法有很多种。为确保数据库获得正确的格式,我建议您通过指定区域性来解析日期。

对于桌面应用程序,这很容易,因为 OS 是为特定格式配置的,而对于网络应用程序,用户使用他们自己喜欢的格式(除非您指定了其他格式)。

要使用 OS 文化进行解析:

var date = DateTime.Parse(Textbox1.Text)

要使用特定区域性进行解析:

var swedish = new CultureInfo("sv_se");
var date = DateTime.Parse(TextBox1.Text, swedish);

另一件事。您的代码存在严重错误。它容易受到 SQL 注入攻击。您需要改用参数化查询。

var cmd = new SqlCommand(con);
cmd.CommandText = "Insert into Debt_Tab values(@date)";
cmd.Parameters.AddWithValue("date", date);
cmd.ExecuteNonQuery();

使用这个希望它会起作用

DateTime.ParseExact(Textbox1.text, "MM/dd/yyyy", CultureInfo.InvariantCulture)