QT如果要进行网络编程首先需要在.pro中添加如下代码:QT += network

//logindlg.h
#ifndef LOGINDLG_H
#define LOGINDLG_H #include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton> class loginDlg : public QDialog
{
Q_OBJECT
public:
explicit loginDlg(QWidget *parent = ); signals: public slots: private:
QLabel *label1,*label2,*label3,*label4;
QLineEdit *edit1,*edit2,*edit3,*edit4;
QPushButton *btn1,*btn2;
private slots:
void btn1_click();
void btn2_click();
public:
QString username;
QString userpass;
QString dbname;
QString ipaddr;
/*判断用户是否点击登录按钮*/
bool islogin; }; #endif // LOGINDLG_H
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QMenu>
/*QMenuBar:菜单栏*/
#include <QMenuBar>
#include <QAction>
#include <QCloseEvent>
#include <QMdiArea> #include "vmysql.h" class MainWindow : public QMainWindow
{
Q_OBJECT public:
MainWindow(QWidget *parent = );
~MainWindow();
private:
Vmysql *sqlhelper;
QMenu * menu1;
QMenu * menu2;
QMenu * menu3;
QMenu * menu4;
QAction *login_in,*login_out,*quit1;
QAction *addstation,*addstationcontrl,*addMSC;
QAction *delstation,*delstationcontrl,*delMSC;
QAction *sestation,*sestationcontrl,*seMSC;
QAction *upstation,*upstationcontrl,*upMSC,*exscript;
QAction *cascade1,*parallel;
QAction *helper,*mabout;
QMdiArea *mdiarea1; /*初始化菜单项*/
void initmenubar();
/*退出函数*/
void closeEvent(QCloseEvent *event);
/*未登录设置所有SQL按钮不可用*/
void close_action();
/*设置所有SQL按钮可用*/
void open_action();
/*执行SQL操作*/
void exec_query(const char *strsql);
/*判断SQL操作的类型*/
bool judge_sqltype(const char *strsql);
/*创建显示view*/
void display_view(const char *actionname,QStandardItemModel *model); private slots:
//登录事件
void login_inclick();
//注销事件
void login_outclick();
//退出事件
void quit_click();
/*添加基站*/
void add_station();
/*添加基站控制器*/
void add_stationcontrl();
/*添加MSC*/
void add_MSC();
/*删除基站*/
void del_station();
/*删除基站控制器*/
void del_stationcontrl();
/*删除MSC*/
void del_MSC();
/*查询基站*/
void sel_station();
/*查询基站控制器*/
void sel_stationcontrl();
/*查询MSC*/
void sel_MSC();
/*修改基站*/
void update_station();
/*修改基站控制器*/
void update_stationcontrl();
/*修改MSC*/
void update_MSC();
/*执行脚本*/
void exec_script();
/*层叠窗口*/
void cascade_window();
/*并列窗口*/
void parallel_window();
/*帮助*/
void helper_click();
/*关于*/
void mabout_click(); }; #endif // MAINWINDOW_H
//scriptdlg.h
#ifndef SCRIPTDLG_H
#define SCRIPTDLG_H #include <QDialog>
#include <QLabel>
#include <QTextEdit>
#include <QPushButton> class ScriptDlg : public QDialog
{
Q_OBJECT
public:
explicit ScriptDlg(QWidget *parent = );
QString strsql;
bool isexec; signals: public slots:
private:
QLabel *label1;
QTextEdit *tedit1;
QPushButton *btn1,*btn2;
private slots:
void btn1_click();
void btn2_click(); }; #endif // SCRIPTDLG_H
//vmysql.h
#ifndef VMYSQL_H
#define VMYSQL_H /*mysql属于TCP/IP协议,所以需要使用socket,
* windows下的socket与linux下不同,在windows.h文件下
* SOCKET listen_st;--windows下定义socket描述符*/
#include <windows.h> #include <C:/mysql/include/mysql.h>
#include <QStandardItemModel> /*封装所有和mysql相关函数*/
class Vmysql
{
public:
Vmysql();
~Vmysql();
/*连接数据库*/
int sql_connect(const char *hostname,const char *username,const char *passwd,const char *dbname);
/*断开数据库连接*/
void sql_disconnect();
/*执行SQL更新*/
int sql_exec(const char *strsql);
/*执行SQL查询*/
int sql_query(const char *strsql,QStandardItemModel **model);
/*错误信息*/
const char *ger_error();
private:
MYSQL mysql1;
MYSQL *connection;
char errorbuf[];
}; #endif // VMYSQL_H

QT 数据库编程一的更多相关文章

  1. QT 网络编程一

    QT如果要进行网络编程首先需要在.pro中添加如下代码:QT += network 在头文件中包含相关头文件 #include <QHostInfo> #include <QNetw ...

  2. QT核心编程之Qt线程 (c)

    QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...

  3. qt数据库多线程问题的解决(QSqlDatabase只能在创建它的线程中使用)

    Qt数据库由QSqlDatabase::addDatabase()生成的QSqlDatabase只能在创建它的线程中使用, 在多线程中共用连接或者在另外一个线程中创建query都是不支持的几乎国内没有 ...

  4. Qt添加驱动——Qt数据库之添加MySQL驱动插件

    Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...

  5. Qt数据库_资料

    1. QT笔记_数据库总结(一)-rojian-ChinaUnix博客.html http://blog.chinaunix.net/uid-28194872-id-3631462.html (里面有 ...

  6. Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别

    Task C# 多线程和异步模型 TPL模型   Task,异步,多线程简单总结 1,如何把一个异步封装为Task异步 Task.Factory.FromAsync 对老的一些异步模型封装为Task ...

  7. Qt数据库 QSqlTableModel实例操作(转)

    本文介绍的是Qt数据库 QSqlTableModel实例操作,详细操作请先来看内容.与上篇内容衔接着,不顾本文也有关于上篇内容的链接. Qt数据库 QSqlTableModel实例操作是本文所介绍的内 ...

  8. C/C++ Qt 数据库与TreeView组件绑定

    在上一篇博文<C/C++ Qt 数据库QSql增删改查组件应用>介绍了Qt中如何使用SQL操作函数,并实现了对数据库的增删改查等基本功能,从本篇开始将实现数据库与View组件的绑定,通过数 ...

  9. C/C++ Qt 数据库与TableView多组件联动

    Qt 数据库组件与TableView组件实现联动,以下案例中实现了,当用户点击并选中TableView组件内的某一行时,我们通过该行中的name字段查询并将查询结果关联到ListView组件内,同时将 ...

随机推荐

  1. 小试ildasm,ilasm,ilspy

    选择了微耕的软件(为什么选择它,因为微耕的二次开发实在太牛了,只给文档,一切技术问题都不回答.文档也是只公开基本的东西) 第一个功能:换文字 第二个功能:插入一个新的程序集,在做某些事情前先做我想做的 ...

  2. linux下安装jdk+tomcat+eclipse+mysql

    我的环境:主机是win7的,虚拟机是VWare  Workstation 6.0   ,linux系统为Red Hat Enterprise  Linux 5 64位 各软件版本:jdk是jdk-6u ...

  3. iis中限制访问某个文件或某个类型的文件配置方法

    Note:此处不是权限设置问题,此处不是权限设置问题,此处不是权限设置问题!只是出于数据或者网络安全,禁止扫描工具直接扫描到某些包含敏感信息的文件,尤其比如日志.配置等 默认ASP.NET已经考虑到了 ...

  4. 正则表达式 exec 获取字符串中的汉字

    要求:仅获取attr中的 “编辑发起状态的执行人表单” ,路径C:\fakepath\是不固定的,可以是C:\fakepath\hhh\hhhh\ 解决: var attr = C:\fakepath ...

  5. 安装centos 7后恢复windows 2008R2 (Windows7)启动项

    安装CentOS 7,安装之后发现Win2008R2的启动项不见了(Windows7同理).一般安装Linux过程中会自动识别windows系统并添加引导项,centos的问题在于默认不支持ntfs分 ...

  6. (ios) 屏幕触摸总结

    1  屏幕触控实现(单击 双击) [self becomeFirstResponder]; //允许多点互动 self.view.multipleTouchEnabled=TRUE; 实现事件部分 # ...

  7. Java Se:Java Security

    Java API中有很多都使用了SecurityManager,这到底是什么玩意?最近看公司的产品的源码,也有不少SecurityManager.AccessControlContext等相关的代码, ...

  8. sqlite3 shell的使用

    sqlite的安装 1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html 当前的最新版本为:sqlite-shell-win32-x86 ...

  9. 新版Microsoft Azure Web管理控制台 - Microsoft Azure New Portal - (1)

    国际版Microsoft Azure的Preview Portal已经于12月2日正式GA,现在登录国际版的Microsoft Azure,默认就会进入Microsoft Azure New Port ...

  10. OpenXml入门---word里面插入图片

    下面介绍如何在word里面插入图片,顺便小弟发现MSDN官网有完整的OpenXML教程,虽然是全英文的不过还是很有帮助的. Tips,原来摘抄代码里面没有模板,在copy过来发现插入word中的图片大 ...