CrazyKeyboardMan
数据刘
2016-12-01 13:12
采纳率: 100%
浏览 3.0k

Qt Qdate写入sql server报错:从字符串转换日期和/或时间时,转换失败。

本人小白一个,做学校布置的大作业时遇到这样一个问题:

 query.prepare("INSERT INTO Orders(Name,Quantity,Weight,G_Type,Destination,Applicant,S_Date)"
                      "VALUES(:name,:quantity,:weight,:type,:destination,:applicant,:date)");
        query.bindValue(":name",ui->NameEdit->text());
        query.bindValue(":quantity",ui->quanEdit->value());
        query.bindValue(":weight",ui->WeigEdit->value());
        query.bindValue(":type",ui->TypeEdit->text());
        query.bindValue(":destination",ui->DestinEdit->text());
        query.bindValue(":applicant",Applicant);
        query.bindValue(":date",QDate::currentDate().toString("yyyy-mm-dd"));

        query.exec();

结果报错:QODBCResult::exec: Unable to execute statement: "[Microsoft][ODBC SQL Server Driver][SQL Server]从字符串转换日期和/或时间时,转换失败。"
实在不知道该怎么办,求大神解答。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • u012830675
    易日 2016-12-02 03:12
    已采纳

    toString("yyyy-mm-dd") 月份是大写的MM表示,QDate::currentDate().toString("yyyy-mm-dd")你这样得到的字符串是"2016-mm-02"
    会不会是你传过去的字符串不是日期字符串所以报的这个错。

    点赞 评论

相关推荐