亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? conndialog.cpp

?? 跨平臺,多數(shù)據(jù)庫查看編輯和查詢工具,平臺支持windows,linux,數(shù)據(jù)庫支持oracle,odbc,mysql,slite等
?? CPP
字號:
#include "connDialog.h"
#include "struct.h"
#include "treewidget.h"


extern QString g_connectName;


ConnDialog::ConnDialog(QWidget *parent /* = 0 */):QDialog(parent)
{
	splashScreen=0;
	QGridLayout *layout = new QGridLayout;
	
	QLabel		*label;
	label = new QLabel(tr("數(shù)據(jù)庫類型"));
	layout->addWidget(label,0,0);
	comboType = new QComboBox();
	comboType->addItem(tr("SQL lite"),QVariant(tr("QSQLITE")));
	comboType->addItem(tr("Oracle"),QVariant(tr("QOCI")));
	comboType->addItem(tr("MySql"),QVariant(tr("QMYSQL")));
	comboType->addItem(tr("ODBC"),QVariant(tr("QODBC")));
	comboType->addItem(tr("Sybase"),QVariant(tr("QTDS")));
	comboType->addItem(tr("IBM DB2"),QVariant(tr("QDB2")));	
	layout->addWidget(comboType,0,1);

	label = new QLabel(tr("服務(wù)器"));
	layout->addWidget(label,1,0);
	editServer = new QLineEdit(this);
	layout->addWidget(editServer,1,1);

	label = new QLabel(tr("數(shù)據(jù)庫"));
	layout->addWidget(label,2,0);
	editDatabase = new QLineEdit(this);
	QFileInfo info(QApplication::applicationDirPath()+"/dm.db");	
	if(info.exists() && info.size()>0)
	{
		editDatabase->setText(QApplication::applicationDirPath()+"/dm.db");
	}
	else
	{
		QSettings settings(qApp->applicationName(), "dbmanager");
		comboType->setCurrentIndex(comboType->findData(settings.value("type", "QSQLITE")));
	}
	layout->addWidget(editDatabase,2,1);

  label  =	new	QLabel(tr("用戶名"));
  layout->addWidget(label,3,0);
	editUsername = new QLineEdit(this);
	layout->addWidget(editUsername,3,1);
	label = new	QLabel(tr("密碼"));
	layout->addWidget(label,4,0);	
	editPassword  = new QLineEdit(this);
	editPassword->setEchoMode(QLineEdit::Password);
	layout->addWidget(editPassword,4,1);

  QDialogButtonBox *box=new QDialogButtonBox(this);
  box->addButton(QDialogButtonBox::Ok);
  box->addButton(QDialogButtonBox::Cancel);
  connect(box,SIGNAL(accepted()), this, SLOT(myAccept()));
  connect(box,SIGNAL(rejected()), this,SLOT(reject()));

	QVBoxLayout *layoutMain=new QVBoxLayout(this);
	QGroupBox *groupBox=new QGroupBox(tr(""),this);
	groupBox->setLayout(layout);
	layoutMain->addWidget(groupBox);
	layoutMain->addStretch();
	layoutMain->addWidget(box,Qt::AlignHCenter);
	setLayout(layoutMain);	

	setFixedWidth(300);

	setWindowTitle("連接數(shù)據(jù)庫");
}


void ConnDialog::myAccept()
{
	QString type;
	QVariant vtype = comboType->itemData(comboType->currentIndex());
	if (vtype.isValid())
		type=vtype.toString();
	
	db=QSqlDatabase::addDatabase(type,g_connectName);
	db.setHostName(editServer->text());
	db.setDatabaseName(editDatabase->text());
	if(db.open(editUsername->text(),editPassword->text()))
	{
		QSettings settings(qApp->applicationName(), "dbmanager");
		settings.setValue("type",QVariant(type));
		createTables();
		accept();
	}
	else
		QMessageBox::warning(this,"","連接錯誤,請檢查輸入項!");	
}

void ConnDialog::createTables()
{
	if(splashScreen)
	{
		hide();
		splashScreen->show();
		splashScreen->showMessage("正在初始化緩存,請稍候...",Qt::AlignCenter|Qt::AlignBottom);
	}
QString sql1,sql2,sql3,sql4;
sql1="CREATE TABLE dm_application\n" \
"(\n" \
"  id INTEGER not null            ,             \n" \
"  application_name varchar(100),               \n" \
"  constraint pk_dm_application primary key(id) \n" \
")\n" ;
sql2="CREATE TABLE dm_connection \n" \
"(\n" \
"  id       INTEGER not null,   \n" \
"  application_id varchar(100),  \n" \
"  type     varchar(20) not null, \n" \
"  server   varchar(100) ,        \n" \
"  dbname       varchar(100),      \n" \
"  username varchar(100),      \n" \
"  password varchar(100),      \n" \
"  memo     varchar(255),       \n" \
"  constraint pk_dm_connection_type primary key(id) \n" \
")\n" ;
sql3="CREATE TABLE dm_table\n" \
"(\n" \
"   connection_id INTEGER,       \n" \
"   table_name varchar(100),     \n" \
"   memo       varchar(100),     \n" \
"   constraint pk_dm_table primary key(connection_id,table_name)  \n" \
")\n" ;
sql4="CREATE TABLE dm_field\n" \
"(\n" \
"   connection_id INTEGER,        \n" \
"   table_name varchar(100),   \n" \
"   field_name varchar(100),    \n" \
"   field_xh   INTEGER,          \n" \
"   can_filter varchar(3),       \n" \
"   asso_table_name varchar(100), \n" \
"   asso_field_name varchar(100),  \n" \
"   asso_field_display varchar(100), \n" \
"   memo  varchar(100),           \n" \
"   is_primarykey varchar(3),      \n" \
"   primarykey_name varchar(100),   \n" \
"   constraint pk_dm_field primary key(connection_id,table_name,field_name) \n" \
")" ;
QString sqlType="create table dm_type(id varchar(10),name varchar(10))";
QString sqlInitApplication="insert into dm_application(id,application_name) values(1,'數(shù)據(jù)庫')";
QString sqlExampleConnection="insert into dm_connection(id,application_id,type,dbname,memo) values(1,1,'QSQLITE',':memory:','Example')";
QStringList list=db.tables(QSql::Tables);
foreach(QString tname,list)
{
	if(tname.toLower()=="dm_application")
		sql1.clear();
	if(tname.toLower()=="dm_connection")
		sql2.clear();
	if(tname.toLower()=="dm_table")
		sql3.clear();
	if(tname.toLower()=="dm_field")
		sql4.clear();
	if(tname.toLower()=="dm_type")
		sqlType.clear();
}

if(sql1.length()) 
{
		db.exec(sql1);
		if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
		db.exec(sqlInitApplication);
		if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
}
if(sql2.length()) 
{
	db.exec(sql2);
	if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
	db.exec(sqlExampleConnection);
	if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
} 
if(sql3.length()) 
{
	db.exec(sql3); 
	if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
}
if(sql4.length()) 
{
	db.exec(sql4); 
	if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
}
	

ConnectionSetup connection;
connection.id=0;
connection.type     = comboType->itemData(comboType->currentIndex()).toString();
connection.server   = editServer->text();
connection.database = editDatabase->text();
connection.username = editUsername->text();
connection.password = editPassword->text();
connection.memo     = "system";
TreeWidget *tree = new TreeWidget(this);	   	 
tree->setConnectionSetup(&db,connection);	   	 
tree->insertTable(&db);
delete tree;

QString sql;

if(sqlType.length())
{
	db.exec(sqlType);
	if(db.lastError().isValid()) 
		QMessageBox::warning(0,"",db.lastError().text());
sql="insert into dm_type(id,name) values('QSQLITE','SQL lite')";	 db.exec(sql);
sql="insert into dm_type(id,name) values('QOCI','Oracle')";		 db.exec(sql);
sql="insert into dm_type(id,name) values('QODBC','ODBC')";		 db.exec(sql);
sql="insert into dm_type(id,name) values('QMYSQL','MySql')";		 db.exec(sql);
sql="insert into dm_type(id,name) values('QTDS','Sybase')";		 db.exec(sql);
sql="insert into dm_type(id,name) values('QDB2','IBM DB2')";		 db.exec(sql);


	sql="update dm_field set asso_table_name='DM_TYPE',asso_field_name='ID',asso_field_display='NAME' where connection_id=0 and upper(table_name)='DM_CONNECTION' and upper(field_name)='TYPE'";
  db.exec(sql);
  if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
	sql="update dm_field set asso_table_name='DM_APPLICATION',asso_field_name='ID',asso_field_display='APPLICATION_NAME' where connection_id=0 and upper(table_name)='DM_CONNECTION' and upper(field_name)='APPLICATION_ID'";
  db.exec(sql);
  if(db.lastError().isValid()) QMessageBox::warning(0,"",db.lastError().text());
  	
  
}
	if(db.driver() && db.driver()->hasFeature(QSqlDriver::Transactions))
	{
		db.rollback();
		db.transaction();
	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清久久久久久| 成人免费va视频| 中文字幕一区av| 日韩欧美美女一区二区三区| 99v久久综合狠狠综合久久| 免费在线视频一区| 成人免费视频在线观看| 久久一夜天堂av一区二区三区| 在线视频国内自拍亚洲视频| 国产乱码精品一区二区三区五月婷 | 蜜臀va亚洲va欧美va天堂| 国产女人18毛片水真多成人如厕| 欧美精品亚洲二区| 色婷婷国产精品综合在线观看| 国产在线不卡一卡二卡三卡四卡| 午夜精品久久久久久久99樱桃| 日韩理论片中文av| 久久女同互慰一区二区三区| 欧美精品视频www在线观看| 91在线小视频| 成人亚洲一区二区一| 精品一区二区影视| 免费在线观看视频一区| 午夜欧美电影在线观看| 午夜成人在线视频| 亚洲精品免费电影| 亚洲欧洲日韩女同| 中文成人综合网| 久久久三级国产网站| 欧美va天堂va视频va在线| 91精品欧美久久久久久动漫| 欧美亚洲愉拍一区二区| 一本一本大道香蕉久在线精品 | 久久99久久99| 麻豆91小视频| 日韩av中文字幕一区二区| 亚洲va韩国va欧美va| 亚洲综合偷拍欧美一区色| 亚洲欧洲国产专区| 亚洲男女一区二区三区| 亚洲品质自拍视频| 一区二区三区中文字幕电影| 亚洲欧美在线另类| 亚洲激情图片qvod| 亚洲成人激情自拍| 亚洲国产成人91porn| 亚洲国产wwwccc36天堂| 三级欧美韩日大片在线看| 欧美96一区二区免费视频| 蜜臀av性久久久久蜜臀av麻豆| 日产欧产美韩系列久久99| 久久爱另类一区二区小说| 久久机这里只有精品| 美女国产一区二区三区| 国产综合色视频| 成人免费毛片app| 91同城在线观看| 欧美亚洲国产一区在线观看网站| 在线观看av一区二区| 欧美精品日韩综合在线| 欧美大片在线观看一区| 久久久久久9999| 国产精品久久久久久久浪潮网站| 自拍偷拍欧美精品| 午夜影院久久久| 精品亚洲aⅴ乱码一区二区三区| 国产精华液一区二区三区| 99re成人在线| 欧美日韩视频不卡| 精品久久国产字幕高潮| 国产欧美日韩中文久久| 一区二区三区在线视频观看58| 亚洲电影第三页| 精品一区二区三区免费播放| 国产成人免费视频一区| 在线观看视频一区二区| 日韩精品一区二区三区三区免费 | 日韩欧美一级二级三级| 中文字幕+乱码+中文字幕一区| 一区二区视频在线| 蜜桃一区二区三区四区| 国产成人精品网址| 欧洲色大大久久| 久久婷婷成人综合色| 亚洲国产精品t66y| 性感美女极品91精品| 国内精品视频666| 欧美综合一区二区三区| 久久人人97超碰com| 亚洲一区二区三区小说| 国产成人亚洲精品青草天美| 欧美日韩国产综合一区二区| 国产亲近乱来精品视频| 日韩影院精彩在线| 99久久综合狠狠综合久久| 日韩欧美亚洲国产精品字幕久久久 | 7777女厕盗摄久久久| 国产精品久久久久久久浪潮网站| 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品国产91亚洲一区二区三区婷婷| 国产精品福利在线播放| 久久99国内精品| 在线播放日韩导航| 亚洲色图视频免费播放| 国产一区二区三区av电影| 欧美亚洲国产一区在线观看网站 | 中文字幕亚洲不卡| 日韩高清不卡一区二区三区| 盗摄精品av一区二区三区| 欧美日韩精品免费观看视频| 亚洲图片另类小说| 蜜桃视频在线观看一区| 99久久久精品免费观看国产蜜| 7777精品久久久大香线蕉| 国产精品理论片| 蜜桃久久av一区| 欧美日韩国产乱码电影| 国产精品视频免费| 日本欧美一区二区三区乱码 | 亚洲综合一区在线| 久色婷婷小香蕉久久| a亚洲天堂av| 欧美精品一区二区三区高清aⅴ | 亚洲人快播电影网| 精品在线播放免费| 99精品黄色片免费大全| 久久午夜色播影院免费高清| 亚洲国产中文字幕在线视频综合| 国产成人在线网站| 欧美电影精品一区二区| 亚洲国产综合91精品麻豆| 成人免费av在线| 久久久一区二区三区| 亚洲天堂网中文字| av电影天堂一区二区在线观看| 欧美一级二级在线观看| 亚洲国产精品综合小说图片区| 不卡一区二区三区四区| 久久综合久久综合九色| 国产美女在线精品| 精品99一区二区三区| 琪琪久久久久日韩精品| 精品视频色一区| 亚洲精品第一国产综合野| 波多野结衣精品在线| 国产精品天干天干在观线| 国产乱码精品一区二区三区av| 日韩丝袜情趣美女图片| 图片区小说区国产精品视频| 成人在线视频一区二区| 中文字幕在线播放不卡一区| 国产精品亚洲一区二区三区妖精| 日韩欧美激情四射| 久久激情五月激情| 欧美日韩精品欧美日韩精品一| 秋霞成人午夜伦在线观看| 51久久夜色精品国产麻豆| 亚洲二区在线观看| 欧美日本韩国一区二区三区视频| 一区二区三区91| 日韩精品自拍偷拍| 麻豆一区二区三| 精品久久人人做人人爰| 精彩视频一区二区| 精品美女被调教视频大全网站| 国产成人午夜精品影院观看视频 | 国产亚洲欧美一级| 麻豆久久一区二区| 欧美电视剧免费全集观看| 免费视频最近日韩| 1024精品合集| 欧美天天综合网| 丝袜a∨在线一区二区三区不卡| 欧美日韩精品一二三区| 亚洲高清不卡在线| 久久精品日产第一区二区三区高清版 | 精品视频免费在线| 日韩精品一级二级| 欧美岛国在线观看| 成人精品小蝌蚪| 亚洲综合网站在线观看| 欧美一区二区三区啪啪| 精品一区二区日韩| 国产精品久久久久久久浪潮网站 | 在线免费av一区| 日韩成人伦理电影在线观看| 亚洲精品一区二区三区四区高清| 懂色中文一区二区在线播放| 亚洲人精品午夜| 欧美一级黄色录像| 国产精品99久久不卡二区| 国产精品久久久久久久久久免费看| 成人免费高清视频在线观看| 亚洲欧美一区二区三区国产精品| 欧美另类久久久品| 美腿丝袜在线亚洲一区| 亚洲自拍偷拍图区| www激情久久| 色综合欧美在线视频区| 日韩电影网1区2区|