(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. }
我在使用qt进行tcp传输时候,接收端遇到接收粘包问题。现在将解决思路描述如下。1、发送数据格式
一帧数据以!开头以?结尾,帧数据间以+区分
例如:!12#21#32#23#50?+
2、接收端处理
判断接收数据是否以+结尾,如果是那么就以+切分,然后处理每一帧数据,如果不是那么就将接收字符串缓存拼接起来。
QByteArray array=tcpsocket->readAll()
QString data(array)
static QString data1=""
data1+=data
if(data1.endsWith("+")){
QStringList listdata=data1.split("+")
// +分割
//判断处理每一个
if(listdata.length()>0){
for(int i=0i<listdata.length()i++){
QString dataN=listdata.at(i)
if(dataN.length()>0){
//数据解析
if(dataN.startsWith("!"))
{
dataN=dataN.left(dataN.length()-1)//取出首字母
dataN=dataN.right(dataN.length()-1)//去除最后一个字母
QStringList list=dataN.split("#")
QString dtime=QDateTime::currentDateTime().toString("yyyy.MM.dd/hh/mm/ss")
int rows=ui->tableWidget->rowCount()
ui->tableWidget->setRowCount(rows+1)
ui->tableWidget->setItem(rows,0,new QTableWidgetItem(dtime))
for (int i=0i<list.length()i++){
ui->tableWidget->setItem(rows,i+1,new QTableWidgetItem(list.at(i)))
}
}
}
}
data1=""
}
3、缺点
由于使用了缓存,那么实时性大大折扣。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)