小编TSG*_*TSG的帖子

SQL查询查找乱序记录

我有一个PHP程序w/MySQL数据库,其中包含许多记录.特别相关的两列是事件编号和日期.这些都只是前进.但是,有时用户输入的数据不按顺序; 例如:

Incident Date
1        Jan 1 2000
2        Jan 1 2010
3        Jan 1 2002
Run Code Online (Sandbox Code Playgroud)

事件2似乎输入错误的日期,应该是2001年1月1日.

有没有办法查询日期不按顺序的记录?或者我是否必须遍历跟踪上次日期的所有记录才能找到错误?

增加注意:事件不是连续的(它们可能是1,3,6,123等).日期也不是连续的.这些是同一个表中的列.

mysql sql select sequence

3
推荐指数
1
解决办法
2912
查看次数

MySQL时间数学

我想在MySQL表中插入一行,其中一个值应该是现在(MySQL服务器的)时间加上5秒。

我看到MySQL可以识别的NOW()函数,但是我可以在该值上加上秒吗?

mysql math time datetime insert

2
推荐指数
1
解决办法
1285
查看次数

jquery翻转开关使用jquery-toggles无法正常工作

我创建了一个使用Simon Tabor的"jquery-toggles"插件(https://github.com/simontabor/jquery-toggles)的简单示例.虽然它有效,但图形永远不会出现.我确认CSS和JS加载正常,但仍然没有图像.有人可以找出原因吗?

<html>
  <head>
    <link rel="stylesheet" href="/include/jquery-toggles-master/themes/toggles-light.css">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    <script src="/include/jquery-toggles-master/toggles.min.js"></script>
    <script>
      $(document).ready(function () {
        $('.toggle').toggles();
        });
    </script>
  </head>
  <body>
    <div class="toggle toggle-select" data-type="select"></div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

css jquery toggle

2
推荐指数
1
解决办法
2471
查看次数

如何在Qt中创建线程网络服务器?

我正在使用线程telnet服务器(每个连接一个线程),并且无法弄清楚如何摆脱valgrind错误.我把问题缩小到了删除tcpsocket的地方.

我在QThread的run()方法中创建了QTcpSocket:

void TelnetConnection::run()
{
    tcpSocketPtr = new QTcpSocket();  
    if (!tcpSocketPtr->setSocketDescriptor(socketDescriptor)) {
        emit error(tcpSocketPtr->error());
        return;
    }
    ....
}
Run Code Online (Sandbox Code Playgroud)

当我的应用想断开客户端时,我打电话:

void TelnetConnection::disconnectClient()
{
    tcpSocketPtr->disconnectFromHost();
}
Run Code Online (Sandbox Code Playgroud)

并且在socket断开连接时调用的插槽是:void TelnetConnection :: clientDisconnected()

{
    tcpSocketPtr->deleteLater();  
    TelnetConnection::s_clientCount--;
    QThread::quit();  // Exit ths event loop for this thread
}
Run Code Online (Sandbox Code Playgroud)

所以,我试过1.删除clientDisconnected插槽中的QTcpSocket,但这会导致读/写不稳定.(偶然崩溃)2.在clientDisconnected插槽中删除,但导致内存读/写错误3.在线程的exec循环后删除但仍然导致内存读/写错误4.在线程的exec循环后删除 - 并且全部错误消失了.

从我读到的内容,如果在exec循环终止后调用deletelater,则会在删除线程时运行.因此,虽然这有效,但我认为这不是正确的方法.

我尝试使用"this"作为父级创建QTcpSocket,但由于父级vs这种不匹配错误,我的信号连接失败.(这将允许在线程销毁时删除QTcpSocket).

解决这个问题的正确方法是什么?

c++ sockets qt destructor

2
推荐指数
1
解决办法
2439
查看次数

在Qt中从字符串(包括引用的区域)中提取参数

我有一个Qt5/C++程序,它接收一个包含程序名称和可能的参数的QString.我需要将此QString拆分为多个字符串.例如,字符串

/tmp/myprog --param1 --param2=2 --param3="1 2 3" -p 4
Run Code Online (Sandbox Code Playgroud)

应分为:

list[0]=/tmp/myprog
list[1]=--param1
list[2]=--param2=2
list[3]=--param3="1 2 3"
list[4]=-p 4
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是在空间上使用"拆分"方法,但这会打破引用的param3.同样,参数4在-p和4之间没有:或=.

有一个简单的方法吗?我怀疑-p 4是不可能轻易拆分的,因为无法知道下面的两个项目是否在一起.

但是有分裂/正则表达/其他方式分裂上述?(如果我们忽略-p 4有可能吗?)


更新:

相同的函数可以在没有--param或-p的情况下拆分字符串吗?所以一串

abc "a a" "b b b"  c
Run Code Online (Sandbox Code Playgroud)

会成为

list[0]=abc
list[1]="a a"
list[2]="b b b"
list[3]=c
Run Code Online (Sandbox Code Playgroud)

c++ regex qt split

2
推荐指数
1
解决办法
1637
查看次数

使用迭代器从QStringlist中删除项目

我试图遍历a QStringList,打印字符串,然后从列表中删除它.我似乎无法找到一个有效的QStringList方法!例如:

for ( QStringList::Iterator it = commandList.begin(); it != commandList.end(); ++it ) {
    out << "Processed command: " << *it << endl;
    *it.erase();
}
Run Code Online (Sandbox Code Playgroud)

给出编译错误:'QList :: Iterator'没有名为'erase'的成员

  1. 如何删除迭代器当前指向的项目?
  2. 在循环中将其移除是否安全?(因为++it如果我在列表中途删除项目可能会失败)

c++ qt iterator qtcore qstringlist

1
推荐指数
1
解决办法
4749
查看次数

Qt/C++将worker的parent更改为qthread失败

为了简化我的清理工作,我想将我的worker对象的父对象设置为它所移动的Qthread.(见下文).

void TelnetServer::incomingConnection(qintptr socketDescriptor)
{
    QThread * TelnetConnectionThread = new QThread(this);
    TelnetConnection *worker = new TelnetConnection(socketDescriptor,TelnetConnectionThread);
    connect(TelnetConnectionThread, SIGNAL(started()), worker, SLOT(start()));
    connect(TelnetConnectionThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
    worker->moveToThread(TelnetConnectionThread);  // Move worker into QThread
    TelnetConnectionThread->start();  
}
Run Code Online (Sandbox Code Playgroud)

在start()行之前,我添加了:

worker->setParent(TelnetConnectionThread);
Run Code Online (Sandbox Code Playgroud)

但在运行时我看到一个错误,我无法做到这一点,因为新的父级在不同的线程.怎么可能?在上面的行中,我将worker移动到新线程...因此worker应该与TelnetConnectionThread位于同一个线程中.救命?


我确认了一些qDebug和thread()工作者实际上已经转移到了新的线程!

c++ qt multithreading move qobject

1
推荐指数
1
解决办法
1085
查看次数

向后搜索Qt5 / C ++中的文本文件(尾部文件)

我需要创建Qt5 / C ++的“ tail -5 myfile”等效项(不使用shell命令。我发现了几个stackoverflow引用,它们在文件结尾之前先查找X字节,然后再向前读取,但我希望有一些东西更好。

有可用的Qt功能更好的/更快的方法,还是文件的内存映射(一部分)?(有问题的文件可能很大,所以这必须相对提高内存效率)

c++ qt file memory-mapped-files

1
推荐指数
1
解决办法
5109
查看次数

Qt/C++ QTcpSocket导致内存泄漏,不知道为什么

我正在创建一个简单的(ish)telnet服务器,现在正在使用valgrind进行调试.代码运行得很好,但valgrind抱怨程序终止时内存丢失...而罪魁祸首是我创建一个新QTcpSocket的行:

void TelnetConnection::run()
{
    tcpSocketPtr = new QTcpSocket();  // ** remove this due to parent error
    if (!tcpSocketPtr->setSocketDescriptor(socketDescriptor)) {
        emit error(tcpSocketPtr->error());
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试将'this'传递给QTcpSocket()但是我尝试连接的信号槽抱怨与另一个父关联.这是问题吗?线索?而且......答案是什么?


我通过将tcpsocketptr赋值为0来删除/释放tcpsocketptr,如下所示.是对的吗?

void TelnetConnection::clientDisconnected()
{
    tcpSocketPtr = 0; // ** Cure memory loss?
    TelnetConnection::s_clientCount--;
    Logger *log =  Logger::instance();
    log->record(Logger::Information,EVENTID_TELNET_DISCONNECTION,"Telnet client "+QString::number(m_clientNumber) +": Disconnecting");
    QThread::quit();  // Exit ths event loop for this thread
}
Run Code Online (Sandbox Code Playgroud)

c++ qt memory-leaks qtcpsocket

0
推荐指数
1
解决办法
717
查看次数

为什么要在命令行应用程序中包含QtWidgets?

我创建了一个简单的Qt控制台应用程序(基于Qt提供的示例代码).虽然这是一个控制台应用程序,但ldd显示了许多链接的X11内容.

我在我的.pro文件中注意到了QT += widgets.对于控制台应用来说这似乎很奇怪,所以我删除了小部件但没有编译节目:

main.cpp:13:24: error: QApplication: No such file or directory
main.cpp: In function ‘int main(int, char**)’:
main.cpp:26: error: ‘QApplication’ was not declared in this scope
main.cpp:26: error: expected ‘;’ before ‘app’
main.cpp:47: error: ‘app’ was not declared in this scope
main.cpp: At global scope:
main.cpp:21: warning: unused parameter ‘argc’
main.cpp:21: warning: unused parameter ‘argv’
make: *** [main.o] Error 1
Run Code Online (Sandbox Code Playgroud)

有人能告诉我发生了什么事吗?我是否需要控制台应用程序的小部件?如果没有,为什么我不能成功删除它?

c++ console qt widget

0
推荐指数
1
解决办法
81
查看次数