从字符串转换日期 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)
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)