wxwidgets mysql_在wxwidgets程序中访问mysql(二)--代码

mysql提供了很多语言的API,包括C、C++、PHP、Perl,Python等。在该程序中用的是C API,代码具有通用性。具体代码如下:

MYSQL mysql;

MYSQL_RES *mysql_result;

MYSQL_ROW mysql_row;

char tmp[64];

wxString str;

if(mysql_init(&mysql)==NULL)

{

wxMessageDialog dlg(this,_("unable to initialize MYSQL struct!"));

dlg.ShowModal();

}

if(mysql_real_connect(&mysql,"202.117.10.254", "xjtugrid", "xjtugrid","grid_context_monitor", 3306, NULL,0)==NULL)

{

wxMessageDialog dlg(this,_("unable to connect MYSQL!"));

dlg.ShowModal();

return;

}

if(mysql_query(&mysql,"select * from user") != 0)

{

wxMessageDialog dlg(this,_("unable to query MYSQL!"));

dlg.ShowModal();

return;

}

mysql_result=mysql_store_result(&mysql);

if(mysql_result == NULL)

{

wxMessageDialog dlg(this,_("unable to query MYSQL!"));

dlg.ShowModal();

return;

}

while(mysql_row = mysql_fetch_row(mysql_result))

{

sprintf(tmp,"%s",mysql_row[0]);

wxString wx_string(tmp,wxConvUTF8);

str += wx_string;

}

wxMessageDialog dlg(this,str);

dlg.ShowModal();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Telnet是一种通过网络连接远程计算机的协议,而wxWidgets是一个跨平台GUI工具包。如果您想使用wxWidgets编写一个telnet客户端,可以参考以下代码: ```cpp #include <wx/wx.h> #include <wx/socket.h> class MyFrame : public wxFrame { public: MyFrame(wxWindow* parent, const wxString& title) : wxFrame(parent, wxID_ANY, title) { m_textCtrl = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE); m_button = new wxButton(this, wxID_ANY, "Connect"); m_button->Bind(wxEVT_BUTTON, &MyFrame::OnButtonConnect, this); wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); sizer->Add(m_textCtrl, 1, wxEXPAND | wxALL, 10); sizer->Add(m_button, 0, wxALIGN_RIGHT | wxALL, 10); SetSizerAndFit(sizer); } private: void OnButtonConnect(wxCommandEvent& event) { // Create a TCP socket wxSocketClient* socket = new wxSocketClient(wxSOCKET_WAITALL); // Bind the socket events socket->Bind(wxEVT_SOCKET, &MyFrame::OnSocketEvent, this); // Connect to the telnet server socket->Connect("localhost", 23); m_textCtrl->AppendText("Connecting to localhost:23...\n"); } void OnSocketEvent(wxSocketEvent& event) { wxSocketBase* socket = event.GetSocket(); switch (event.GetSocketEvent()) { case wxSOCKET_CONNECTION: m_textCtrl->AppendText("Connected!\n"); break; case wxSOCKET_INPUT: { char buffer[1024]; int size = socket->Read(buffer, sizeof(buffer)).LastCount(); buffer[size] = '\0'; m_textCtrl->AppendText(wxString::FromUTF8(buffer)); break; } case wxSOCKET_LOST: m_textCtrl->AppendText("Disconnected!\n"); socket->Destroy(); break; } } wxTextCtrl* m_textCtrl; wxButton* m_button; }; class MyApp : public wxApp { public: virtual bool OnInit() { MyFrame* frame = new MyFrame(nullptr, "Telnet Client"); frame->Show(); return true; } }; wxIMPLEMENT_APP(MyApp); ``` 以上代码使用了wxSocketClient类来创建TCP套接字,并通过绑定事件来处理连接、接收数据和断开连接等操作。在点击“Connect”按钮时,它将连接到本地主机的23号端口(即telnet服务)。请注意,该代码仅提供了一个基本的框架,您可能需要根据实际情况进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值