c# 从字符串转换日期和/或时间时,转换失败.

private void btnUpdatebot_Click(object sender, EventArgs e)
{
string date = cboYear.Text + "-" + cboMoth.Text + "-" + cboDay.Text;
string sql =string.Format( "update Consume set ConsumDate ='{0}',Type='{1}',Category='{2}',ConsumeMoney='{3}',Descrition='{4}' where Id={5}",date.Trim(),cboType.Text.Trim(),cboxiangmu.Text.Trim(),txtjine.Text.Trim(),txtbeizhu.Text.Trim(),txtliushuihao.Text.Trim());
SqlCommand mycom = DBhelper.mycon.CreateCommand();
DBhelper.mycon.Open();
mycom.CommandText = sql;
int count = mycom.ExecuteNonQuery();
if (count > 0)
{
MessageBox.Show("修改成功");
SqlDataAdapter myda = new SqlDataAdapter();
myda.UpdateCommand = mycom;
DataSet myds = new DataSet();
myda.Fill(myds,"Conmuse");
SqlCommandBuilder mycb = new SqlCommandBuilder(myda);
myda.Update(myds,"Conmuse");
DBhelper.mycon.Close();
}
else
{
MessageBox.Show("修改失败");
}

你那个明显有问题,ConsumDate 这个应该是DateTime类型的,而已在后面赋值是,是string类型,所以,肯定不行,你把后面的date.Trim()变为DateTime.Prase(date),就ok了追问

string date = cboYear.Text + "-" + cboMoth.Text + "-" + cboDay.Text

这个我已经把它拼接成字符串了

追答

拼接成的是字符串,明显要的是时间类型,所以,你要把字符串转化为时间类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-15
日期格式化与字符串转换成时间(C#.NET)
yyyy 代表年
MM 代表月(注意这里要用大写)
dd 代表日
HH/hh 代表时(24小时形式/12小时形式)
mm 代表分(这里用小写表示分钟)
ss 代表秒
//======= 日期格式化成指定字符串 =======
DateTime d = DateTime.now;
d.toString("yyyyMMdd HHmmss"); //例如"20070529 094530"字符串格式
d.toString("yyyy-MM-dd HH:mm:ss"); //例如"2007-05-29 09:45:30"字符串格式
d.toString("yyyy年MM月dd日 HH:mm:ss"); //例如"2007年05月29日 09:45:30"字符串格式

//======= 指定字符串转化成日期(DateTime)=====
string str = "20070529094530";
IFormatProvider format = new System.Globalization.CultureInfo("zh-CN");
string TarStr = "yyyyMMddHHmmss"; //注意这里用到HH
DateTime MyDate = DateTime.ParseExact(str, TarStr);
第2个回答  2014-07-21
还是留联系看,刚刚已经说了,从你贴的代码看不出任何问题。本回答被提问者采纳
相似回答