首页 app开发 正文

qt表格数据库(数据库)

app开发 48
本篇文章给大家谈谈qt表格数据库,以及数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 QT查询mysql数据库中表格是否存在怎么操作 1、sql语句判断数据库表是否存在:sql:select * from user_all_tables where table_name='tableName'如果结果为空则表示不存在,如何结果不为空则表示存在;2、java如何判断数据库表是否存在

本篇文章给大家谈谈qt表格数据库,以及数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

QT查询mysql数据库中表格是否存在怎么操作

1、sql语句判断数据库表是否存在:

sql:select * from user_all_tables where table_name='tableName'

如果结果为空则表示不存在,如何结果不为空则表示存在;

2、java如何判断数据库表是否存在

可以利用上面的sql,执行获取结果,相应的java代码如下:

String helperName= delegator.getGroupHelperName("com.asiainfo");

SQLProcessor sqlProcessor= new SQLProcessor(helperName);

String sql = "select * from user_all_tables where table_name='"+table+"'";

ResultSet rsTables =sqlProcessor.executeQuery(sql);

if(rsTables.next()){

Debug.logWarning("table:"+table+" exists", module);

}else{

Debug.logWarning("table:"+table+" does not exist", module);

}

qt中怎样将表格中数据导出为excel文件

如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能。之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件。在使用了QtSql模块后,我很容易的将这个类改写应用在Qt程序中。类的名字叫“ExportExcelObject”。使用起来很简单:

[cpp] view plaincopy

// 1. declare an object

// – fileName Excel 文件路径

// – sheetName Excel 工作表(sheet)名称

// – tableView 需要导出的QTableView指针

ExportExcelObject obj(fileName, sheetName, tableView);

// 2. define fields (columns) to the Excel sheet file

// – 第1个参数是QTableView的列

// – 第2个参数是对应该列的Excel sheet中的列名

// – 第3个参数是该列的类型,可以使用char(x) (x最大255),int,datetime, 等

obj.addField(1, tr("name"), "char(60)");

obj.addField(2, tr("ID"), "int");

obj.addField(3, tr("time"), " datetime ");

// 3. 该类有特定的SIGNAL用于连接一个progress控件,可以显示导出进度

connect(obj, SIGNAL(exportedRowCount(int)), progressBar, SLOT(setValue(int)));

// 4. do the work

int retVal = obj.export2Excel();

if(retVal 0)

{//done

}

else

{//something wrong

}

那么这个类是怎样实现的呢?

1. 将Excel文件当成是一个数据库

使用MS的ODBC或ADO都可以将Excel文件当做一个数据库,那么我们只需要使用下面这个DSN连接串去创建并连接至该Excel文件:

[cpp] view plaincopy

QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DSN=''; FIRSTROWHASNAMES=1;;CREATE_DB=/"%1/";DBQ=%2").

arg(excelFilePath).arg(excelFilePath);

2. 将Excel的工作表(sheet)当成是一个数据库表

可以使用SQL语句“CREATE TABLE” 去创建一个工作表。

3. 向表中插入数据

使用SQL的“INSERT”语句插入数据。

4. Unicode支持

是的,列名和数据都支持Unicode。

QT中数据库问题

1.query内封装了sql语句,调用sql语句操作数据库第一步先构建QSqlQuery。

2.str 是一条sql语句,意思是查找list表中num=%1的所有行,%1的值由num赋予。

3.query.exec执行了str这条sql语句。此时如果sql语句没问题,query中已经保存了查询结果。

4.query.next意思是如果查询结果中有下一条(默认从第0条开始),返回true 否则返回false.

是人都应该懂了

qt的数据库实现是怎样的?

完整的代码给你了:

data.h

#define DB_SALES_DRIVER "QMYSQL3"

#define DB_SALES_DBNAME "CAAS"

#define DB_SALES_USER "root"

#define DB_SALES_PASSWD ""

#define DB_SALES_HOST ""

main.cpp

#include qapplication.h

#include qsqldatabase.h

#include qsqlquery.h

#include qsqlcursor.h

#include qtextedit.h

#include qstring.h

#include qtextcodec.h

#include qvbox.h

#include "data.h"

#include stdio.h

#include qpushbutton.h

class MyQVBox : public QVBox

{

public:

MyQVBox( QWidget *parent=0, const char *name=0 );

//public slots:

// refValue(QSrting lzw);

};

MyQVBox::MyQVBox( QWidget *parent, const char *name )

: QVBox( parent, name )

{

QString Lzw("n");

QSqlDatabase *defaultDB = QSqlDatabase::addDatabase(DB_SALES_DRIVER);

if ( defaultDB )

{

defaultDB-setDatabaseName( DB_SALES_DBNAME );

defaultDB-setUserName( DB_SALES_USER );

defaultDB-setPassword( DB_SALES_PASSWD );

defaultDB-setHostName( DB_SALES_HOST );

if ( defaultDB-open() )

{

//插入数据

QSqlQuery query("INSERT INTO test(ID,Name,Age) VALUES(1155, 'Ginger', 125);" );

//提取数据

QSqlCursor cur( "test" ); // 指定表/视图名称

cur.select(); // 我们将检索每一条记录

while ( cur.next() )

{

qDebug( cur.value( "ID" ).toString() + ": " +

cur.value( "Name" ).toString() + " " +

cur.value( "Age" ).toString() );

Lzw.append(cur.value( "ID" ).toString() + ": " +

cur.value( "Name" ).toString() + " " +

cur.value( "Age" ).toString()+"n");

}

//qDebug(Lzw);

printf("aaaaaaa");

}

}

QString ustr = (QTextCodec::codecForLocale())-toUnicode(Lzw);

QString sstr = (QTextCodec::codecForLocale())-toUnicode("刷新");

QTextEdit *myEdit = new QTextEdit(this,0);

myEdit-setText(ustr);

QPushButton *quit = new QPushButton(sstr, this, "quit" );

connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );

}

int main( int argc, char *argv[] )

{

QApplication app( argc, argv );

MyQVBox *mybox = new MyQVBox(0,0);

//mybox-setText(ustr);

app.setMainWidget(mybox);

mybox-show();

return app.exec();

}

qt怎样创建数据库以及数据库的操作

qt可以实现连接各种数据库,这里介绍qt自带的一种数据库(Qsqlite)

#includeQSqlQuery

#includeQObject

#includeQVariantList

#includeQDebug

#includeQSqlError

#includeQTextCodec

#includeQObject

staticboolcreateConnection()

{QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("mytest.db");

if(!db.open())

returnfalse;

QSqlQueryquery;

//query.exec(QObject::tr("createtablestudent(idintprimarykey,namevchar)"));

//query.exec(QObject::tr("insertintostudentvalues(0,'刘')"));

////query.exec(QObject::tr("insertintostudentvalues(1,'刚')"));

//query.exec(QObject::tr("insertintostudentvalues(2,'红')"));

//query.prepare("insertintostudentvalues(?,?)");

//-------------------------------------------------------

//通过下面这段代码可以实现向数据库插入变量

//--------------------------------------------------------

QVariantListages;

intx1,x2,x3,x4;

x1=12;

x2=13;

x3=14;

x4=15;

agesx1x2x3x4;

query.addBindValue(ages);

QVariantListnames;

namesQObject::tr("小王")QObject::tr("小明")QObject::tr("小张")QObject::tr("小新");//如果要提交空串,用QVariant(QVariant::String)代替名字

query.addBindValue(names);

if(!query.execBatch())//进行批处理,如果出错就输出错误

qDebug()query.lastError();

returntrue;

}

#endif//DATABASE_H

然后用QSqlTableModel实现数据库数据显示

关于qt表格数据库和数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

qt表格数据库 qt显示数据库表格qt读取数据库数据并显示qt连接数据库qt sqlite数据库qt数据库查询qt创建数据库qt连接mysql数据库qt使用sqlite数据库qt连接oracle数据库qt怎么连接数据库
扫码二维码