qt 如何从数据库中获得表名

qt 如何从数据库中获得表名,第1张

QStringList QSqlDatabase::tables ( QSql::TableType type = QSql::Tables ) const
Returns a list of the database's tables, system tables and views, as specified by the parameter type
See also primaryIndex() and record()

*** 作方法如下:
@echo off
set h=1921681100
set u=ftpuser
set p=12345678
echo open %h%>ftptxt
echo %u%>>ftptxt
echo %p%>>ftptxt
echo dir>>ftptxt
echo bye>>ftptxt
ftp -s:ftptxt>ftpdirtxt
echo open %h%>ftptxt
echo %u%>>ftptxt
echo %p%>>ftptxt
for /f "tokens=4" %%i in ('findstr "<DIR>" ftpdirtxt') do (
echo cd %%~i>>ftptxt
echo dir>>ftptxt
echo cd >>ftptxt)
echo bye>>ftptxt
ftp -s:ftptxt>ftpfiletxt
notepad ftpfiletxt

新建一个工程名叫mysql。从工具箱向form1窗体上拖一个按钮datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示datagridview控件是用于显示数据集内容。

#include <qapplicationh> #include <qsqldatabaseh> #include <qsqlcursorh> #include "/loginh" bool createConnections(); int main( int argc, char argv[] ) { QApplication app( argc, argv ); if ( createConnections() ) { QSqlCursor cur( "staff" ); // 指定表/视图名称 curselect(); // 我们将检索每一条记录 while ( curnext() ) { qDebug( curvalue( "id" )toString() + ": " + curvalue( "surname" )toString() + " " + curvalue( "salary" )toString() ); } } return 0; }

首先回答第一个问题,读和写可以有多种实现方式,用write和read只是其中一种,前面一个函数中的 clientConnection->write(block)是调用了QTcpSocket 类中的write方法来实现,如果你想不用此方法调用类中的read和write方法,就是你问的第二个问题,in和out的作用,in和out在这里将对socket中的报文收发变为数据流的形式来 *** 作,QDataStream in(tcpSocket)比如这一句是将tcpSocket这个连接的实例对象作为一个文件描述符传递给QDataStream,然后 in >> blockSize这句话实现的就是相当于read的 *** 作,就是将数据流读出来。这个 out << (quint16)(blocksize() - sizeof(quint16))是写入。实际上对诸如串口收发,读写文件,socket通信等等,用C语言来写,抽象出来都是对文件描述符进行 *** 作,都可以用write和read来做,所以,实际上,第一种方法和第二种方法是一样的,就看你选择什么样的方法了,第三个问题可参考out << (quint16)(blocksize() - sizeof(quint16))这样的方法在收到数据以后把数据发出去。
请给分。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/13303831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-11
下一篇 2023-07-11

发表评论

登录后才能评论

评论列表(0条)

保存