我正在使用C#,VS 2005和SQL 2000
我的日期转换问题我的SQL表有以下字段
字段:
datefrom
dateto
我在C#中的SQL查询是
string sql = "insert into companymast (cname, datefrom, dateto) values(@cname, @datefrom, @dateto)";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add("@cname",SqlDbType.Varchar(50)).Values = cname.text;
cmd.Parameters.Add("@datefrom",SqlDbType.Datetime).Values = maskedTextBox1.text;
cmd.Parameters.Add("@dateto",SqlDbType.Datetime).Values = maskedTextBox2.text;
cmd.ExecuteNonQuery();
但是上面的抛出错误就像日期非转换字符串到日期
我必须将日期放在dd/MM/yyyy
格式代码中,103
所以我该怎么做?
请帮帮我。
答案 0 :(得分:0)
maskedBox1.text
是一个字符串。您将其分配给SqlParameter
的数据成员,并尝试将收到的内容转换为您请求的数据类型。
更明确的解决方案是明确转换为DateTime
,并将转换后的值传递给SqlParameter
。通过这种方式,您可以更好地控制转换,并且您可以确切地看到它出错的地点和原因。例如:
DateTime fromDate = DateTime.Parse(maskedTextBox1.text);
cmd.Parameters.Add("@datefrom",SqlDbType.Datetime).Values= fromDate;
对于DateTime.Parse,请参阅:http://msdn.microsoft.com/en-us/library/1k1skd40.aspx