当前位置:首页 » 操作系统 » qt表格数据库

qt表格数据库

发布时间: 2022-10-17 12:08:15

A. Qt 与数据库连接后输出的表格是空白的

if ([WXWCommonUtils currentOSVersion] > IOS7) {
self. = NO;
}
self. = NO;
看这个UIViewController的这个属性你就明白了,此属性默认为YES,这样UIViewController下如果只有一个UIScollView或者其子类,那么会自动留出空白,让scollview滚动经过各种bar下面时能隐约看到内容。但是每个UIViewController只能有唯一一个UIScollView或者其子类,如果超过一个,需要将此属性设置为NO,自己去控制留白以及坐标问题。

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

QT创建和插入的操作代码如下:
bool database::createDatabase()
{
QsqlQuery query; // 此处请查询 query的相关操作
qDebug() << "Start to create table...";
//create table: User
query.exec("CREATE TABLE [User] ( [userId] VARCHAR(40) NOT NULL, [username] VARCHAR(40) NOT NULL, [email] VARCHAR(40), [password] VARCHAR(40), [city] VARCHAR(20), PRIMARY KEY([userId]) )"); // 一定注意不要拼写错误,引号内是不提示拼写错误的。
//create table: Connect
query.exec("CREATE TABLE [Connect] ( [LeftUser] VARCHAR(40) NOT NULL, [RightUser] VARCHAR(40) NOT NULL, [relation] INTEGER DEFAULT '0' NULL, PRIMARY KEY ([LeftUser], [RightUser]))");
if (query.lastError().isValid())
{
qDebug() << query.lastError();
return false;
}
else
{
qDebug() << "Create database successfully.";
}
return true;
}
插入操作

bool database::adser( User user )
{
if (!db.isOpen())
{
createconnection();
}
QSqlQuery query;
qDebug() << "start to insert data";
query.exec("INSERT INTO [User] ( userId, username, email, password, city) VALUES(?,?,?,?,?)");
QVariantList userId;
userId << user.getUserId();
query.addBindValue(userId);
QVariantList username;
username << user.getUserName();
query.addBindValue(username);
QVariantList email;
email << user.getEmail();
query.addBindValue(email);
QVariantList password;
password << user.getPassword();
query.addBindValue(password);
QVariantList city;
city << user.getCity();
query.addBindValue(city);
try
{
if (!query.execBatch())
{
qDebug() << query.lastQuery();
qDebug() << query.lastError();
return NULL;
}
}
catch(...)
{
QMessageBox::critical(0, "Add New Node error!",
"Unable to add a new Node!/n/n"
"Click Cancel to exit.", QMessageBox::Cancel);
}
if( !UpdateConnectTable(user.getUserId(),user.getUserId(),2))
{
QMessageBox::critical(0,"","Update table Connect error");
return NULL;
}
return true;
}

C. 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", mole);
}else{
Debug.logWarning("table:"+table+" does not exist", mole);
}

D. 急求各位大神,我在QT中用sqlite数据库,创建了一个表格,然后进行查如何查询,可是为什么查询结果是木有

你 model->setFilter("room_id=1"); 过滤了

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

//QSqlDataBase里面可以查询所有表的名字,然后进行匹配即可
QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("acidalia");
db.setDatabaseName("customdb");
db.setUserName("mojito");
db.setPassword("J0a1m8");
boolok=db.open();
//打开数据库
QSringListstrTables=db.tables();
if(strTables.contains("Yourtable"){
qDebug()<<"Yes";
}
else{
qDebug()<<"no";
}

F. QT中table view怎么显示sqlite数据库的内容

在QT的widget中用tableview显示sqlite数据库表中的内容。
假设有数据库文件test.db,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
首先用QTcreator创建一个基于Widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
1.在widget.h中增添头文件:QtSql/qsql.h、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
2.在.pro工程文件中添加:QT+=sql
3.在widget.cpp中widget的构造函数中添加如下代码:
QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if(!db.open())
{
//错误处理
}
static QSqlQueryModel *model = new QSqlQueryModel(ui->tableview);
model->setQuery(QString("select * from table"));
model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("年龄"));
ui->tableview->setModel(model);
db->close();
这样之后,table表里的内容就会显示到tableview中了。

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

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

[cpp] view plain
// 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 plain
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。

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

qt可以实现连接各种数据库,这里介绍qt自带的一种数据库(Qsqlite)
#include<QSqlQuery>
#include<QObject>
#include<QVariantList>
#include<QDebug>
#include<QSqlError>
#include<QTextCodec>
#include<QObject>
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;
ages<<x1<<x2<<x3<<x4;
query.addBindValue(ages);
QVariantListnames;
names<<QObject::tr("小王")<<QObject::tr("小明")<<QObject::tr("小张")<<QObject::tr("小新");//如果要提交空串,用QVariant(QVariant::String)代替名字
query.addBindValue(names);
if(!query.execBatch())//进行批处理,如果出错就输出错误
qDebug()<<query.lastError();
returntrue;
}
#endif//DATABASE_H
然后用QSqlTableModel实现数据库数据显示

I. QT 简单数据库操作

看你的create语句中time varchar(20)),..这边多了一个 ) ,可能导致建的表中实际只有两个字段:id和time。

然后你又插入了4个字段,所以参数个数错误。。

热点内容
主播网站源码 发布:2025-05-15 02:50:56 浏览:167
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:535
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:669
php宏定义 发布:2025-05-15 02:32:54 浏览:270
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:520
存储机箱 发布:2025-05-15 02:31:31 浏览:836
编程很累吗 发布:2025-05-15 02:29:25 浏览:552
疫情期间访问国外网络 发布:2025-05-15 02:24:24 浏览:247
我的世界网易版游戏服务器 发布:2025-05-15 02:23:46 浏览:221
全球编程网站 发布:2025-05-15 02:22:55 浏览:334