数据刘 2016-12-01 13:12 采纳率: 100%
浏览 3224
已采纳

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条回答 默认 最新

  • 易日 2016-12-02 03:12
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?