qt从数据库读取数据库
① 如何把qt程序里的数据读入到mysql数据库
引入 数据库创建的问题解决了,接下来就该使用数据库实现应用程序功能的时候了。基 本的操作包括创建、读娶更新、删除,即我们通常说的 CRUD(Create, Read, Update, Delete)。 在实现这些操作的时候,我们会使用到两个比较重要的类
② 如何用Qt连接数据库并导入文件
QT 自带的数据库是很好用的。
以下给一些我写的例子:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
大致只要知道以上例子就OK了。一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
另外,要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
再另外,在QT的编程中,C++和类都很重要,所以还是得看看。
还有不明白的话欢迎留言
③ 用qt如何连接数据库(简答题)
连接mysql 数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用mysql数据库驱动
db.setHostName("localhost");
db.setDatabaseName("exampledb"); // 数据库名称
db.setUserName("sa"); // 用户名
db.setPassword("1"); // 密码
bool ok = db.open(); // 尝试连接数据库
if(ok)
{
QSqlQuery myquery;
if(myquery.exec("select * from employeedb"))
{
int num = 0;
if(db.driver()->hasFeature(QSqlDriver::QuerySize))
{
num = myquery.size(); // 如果支持结果影响的行数,那么直接记录下来
}
else
{
myquery.last(); //否则定位到结果最后
num = myquery.at() + 1;
}
//这里添加数据库的查询结果处理操作
}
else // 如果查询失败
{
QSqlError error = myquery.lastError();
}
}
else // 打开数据库失败
{
}
④ 怎样使用sqt从关联数据库sql里读取数据到scada
用select读取oracle数据库数据.在用insert插入sql数据库不就行了.不过要注意oracle数据库和sql数据库的数据类型不太一样.
⑤ 如何用Qt连接数据库并导入文件
可以使用QT自带的数据库完成操作,以下是参考代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
⑥ qt 如何从数据库中获得表名
连接好数据库之后,只需用表名即可。
⑦ Qt 数据库 查找后获取数据道label
px solid green;
border-radius: 4px;
padding: 2px;
background-image: url(images/xxx.png);
}
请确认一下你的 style sheet 代码是不是与上面类似的(主要看最后一行);
如果你改变了图片或者qrc文件中的内容,最好将整个工程重新都重新编译一次。再看能不能显示图片。如果还不能显示图片,就直接用QLabel的
void setPixmap ( const QPixmap & )
方法来设置图片算了。
⑧ 求一段用Qt来实现数据库读取并显示成折线图的代码
[cpp]viewplainprint?
/*************************************************
折线图绘制
author周翔
2012-8-14
对外提供接口
voidshowData(intdata);接受外部的折线数据
voidsetSingleUnitX(constint&value);设置x轴的单位像素
voidstartUpdataTimer(intmsecond);定时器更新折线图
voidstopUpdataTimer();关闭定时器
*************************************************/
#ifndefLINEGRAPHWIDGET_H
#defineLINEGRAPHWIDGET_H
#include<QWidget>
#include<QPen>
#include<QPainter>
#include<QResizeEvent>
//#include<QDebug>
#include<QTimer>
structpoint
{
intx;
inty;
};
classLineGraphWidget:publicQWidget
{
Q_OBJECT
public:
//mix和max为折线的y轴的数据范围
explicitLineGraphWidget(intmin,intmax,QWidget*parent=0);
voidsetSingleUnitX(constint&value){singleUnitX=value;}//设置x轴的一个单位占多少个像素,默认10
//支持定时器定时更新
voidstartUpdataTimer(intmsecond);
voidstopUpdataTimer();
signals:
//支持实时更新
voidnewDataCome();//有新数据到来时发出的折线图更新信号
publicslots:
/**
*@briefshowData
*@paramadress地址
*@param_data数据
*/
voidshowData(constQString&adress,int_data);//接受来之外部的数据
/**
*@briefslt_showData接受外部数据
*@paramname设备名
*@param_data数据
*/
voidslt_showData(ushortname,int_data);
protected:
voidpaintEvent(QPaintEvent*);
voidresizeEvent(QResizeEvent*e);
private:
QStringm_currentNodeAdress;//当前显示的节点的地址
ushortm_currentNodeName;//当前节点的设备名
QList<int>xList;
QList<int>yList;
intCounter;//窗口的长和宽
intwidgetX;
intwidgetY;
//折线图的显示范围
intrangeMin;
intrangeMax;
//根据窗口和范围得出的单位长,x轴,y轴
intsingleUnitX;
intsingleUnitY;
//根据窗口得出的多少个单位,x轴,y轴
intsumUnitX;
intsumUnitY;
pointbasePoint;//折线图的原点
pointxAxisEndPoint;//X轴的终点
pointyAxisEndPoint;//Y轴的终点
QTimer*timer;
voidgetSumUnitX();
voidgetSingleUnitY();
voidinitGraph();
voidflush();//数据传入的节点不是现在的当前的节点的时候,刷新画面,清除所有的值
};
⑨ QT中怎样连接MYsql数据库,远程连接数据库等
1: windows 下登陆mysql 命令行,(1)进入cmd (2) cd mysql 安装路径/mysqlserver5.6/bin
(3) 使用命令mysql -u root -p 然后根据提示输入密码 进入命令行
select user(); //显示当前用户
2: 在同一台电脑上利用Qt 访问数据库
(1)显示当前电脑上安装的数据库驱动
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() <<"/t" << driver;
(2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/对 QMYSQL进行操作,本函数
有第二个参数 连接名
db.setHostName("localhost");//或127.0.0.1 本主机
db.setPort(3306);
db.setDatabaseName("example"); //对数据库example进行操作
db.setUserName("wangxuetao"); //wangxuetao是一个对example数据库有操作权限的账户
db.setPassword("3791948");
于是mysql中增加一个账户可使用
Grant all previliges on *.* to ‘wangxuetao’@’localhost’ identified by
‘3791948’ with grant option;
Flush privileges; //更新
(3)db.open() 函数可由于检测数据库是否连接成功
cout<DBConnection();
2. m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql
query
3. if(result == R_OK)
4. {
5. result = m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A
nn2',13)");
6. if(!result)
7. qDebug()<<" [OK] "<<"EXEC successed";
8. m_sqlquery->exec("SELECT * FROM children c LIMIT 0,1000");
9. while(m_sqlquery->next())
10. {
11. qDebug()<value(0).toString()<value(1).
toString();
12. }
13. }