資源簡介
基于QT的音頻播放器修改自qt5-doc

代碼片段和文件信息
#include?“connection.h“
#include?
#include?
#include?
#include?
Connection::Connection(Qobject?*parent)?:
????Qobject(parent)
{
????db?=?QSqlDatabase::addDatabase(“QSQLITE“);
????db.setDatabaseName(“media.db“);
????if(db.open())
????????createTables();
????else
????????errMsg?=?“Can‘t?open?db“;
}
void?Connection::createTables()
{
????QSqlQuery?query(db);
????if(!query.exec(“select?*?from?musicgroup;“))
????{
????????qDebug()<<“Do?not?have?db“;
????????assert(query.exec(“create?table?musicgroup(id?integer?primary?keygroupname?text);“));
????????assert(query.exec(“create?table?music(id?integer?primary?keymusicname?text?albumname?textalbumpicpath?textcomposer?textadddate?textsinger?texturl?text?NOT?NULL?uniquelrc?text);“));
????????assert(query.exec(“create?table?playlist(groupid?integermusicid?integerforeign?key(groupid)?references?musicgroup(id)foreign?key(musicid)?references?music(id))“));
????}
????else
????{
????????qDebug()<<“Aready?have?db“;
????}
?}
bool?Connection::insertMusic(QMap?map)
{
????QSqlQuery?query(db);
????query.exec(“select?max(id)?from?music“);
????if(query.next())
????{
????????int?id?=?query.value(“max(id)“).toInt();id++;qDebug()< ????????map[“id“]==““?id=id:id=map[“id“].toInt();
????????QDateTime?dt;
????????QTime?time;
????????QDate?date;
????????dt.setTime(time.currentTime());
????????dt.setDate(date.currentDate());
????????QString?sql?=“insert?into?music(idmusicnamealbumnamealbumpicpathcomposeradddatesingerurllrc)?values(‘“+QString::number(id10)+“‘‘“+map[“musicname“]+“‘‘“+map[“albumname“]+“‘‘“+map[“albumpicpath“]+“‘‘“+map[“composer“]+“‘‘“+dt.toString(“yyyy:MM:dd:hh:mm:ss“)+“‘‘“+map[“singer“]+“‘‘“+map[“url“]+“‘‘“+map[“lrc“]+“‘)“;
????????qDebug()<
????????QSqlQuery?insert(db);
????????if(insert.exec(sql))
????????????????return?true;
????????else
????????????throw?QString(“Please?don‘t?add?the?same?music!“);
????}
????throw?QString?(“FATAL?DB?BUG!“);
????return?false;
}
QStringList?Connection::getKeys(QString?key)
{
????QStringList?list;
????QSqlQuery?query(db);
????if(key?==?“groupname“)
????{
????????QString?str?=?“SELECT?distinct?“+key+“?FROM?musicgroup“;
????????query.exec(str);
????????while(query.next())
????????{
????????????list.append(query.value(0).toString());
????????}
????????return?list;
????}
????else?if(key?==?“adddate“)
????{
????????QString?str?=?“SELECT?distinct?substr(“+key+“110)?FROM?music“;
????????query.exec(str);
????????while(query.next())
????????{
????????????list.append(query.value(0).toString());
????????}
????????return?list;
????}
????else
????{
????????QString?str?=?“SELECT?distinct?“+key+“?FROM?music“;
????????query.exec(str);
????????while(query.next())
????????{
????????????list.append(query.value(0).toString());
????????}
????????return?list;
????}
}
QList?>?Connection::search(QString?infQString?key)
{
????QSqlQuery?query;
????QString?str?=?(key?==?“musicgroup“)?“
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-01-07?16:10??pla
?????文件????????5458??2014-01-06?08:28??pla
?????文件?????????612??2014-01-06?08:27??pla
?????文件?????????487??2014-01-05?10:21??pla
?????文件????????5757??2014-01-06?22:37??pla
?????文件????????1115??2014-01-06?22:00??pla
?????文件???????10296??2014-01-06?22:37??pla
?????文件????????1628??2014-01-06?08:18??pla
?????文件?????????596??2014-01-06?18:11??pla
?????文件???????34295??2014-01-07?16:10??pla
?????文件????????4389??2014-01-05?22:02??pla
?????文件????????1166??2013-12-29?15:35??pla
?????文件????????3286??2013-12-29?16:36??pla
?????文件????????1155??2013-12-29?15:36??pla
?????文件?????????345??2014-01-05?10:55??pla
?????文件?????????201??2014-01-05?10:55??pla
- 上一篇:Unity 3D虛擬現實場景作品
- 下一篇:GPS經緯度轉換大地坐標
評論
共有 條評論