📄 transeditdlg.cpp
字号:
// TransEditDlg.cpp : implementation file
//
#include "stdafx.h"
#include "GSMTest.h"
#include "TransEditDlg.h"
#include "TransGL.h"
#include <winsock.h>
#include <mysql.h>
#include "database.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTransEditDlg dialog
CTransEditDlg::CTransEditDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTransEditDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTransEditDlg)
m_strTel = _T("");
// m_sFactor = _T("");
// m_sIa = _T("");
/// m_sIb = _T("");
// m_sIc = _T("");
// m_sTemp = _T("");
// m_sUa = _T("");
// m_sUb = _T("");
// m_sUc = _T("");
m_sRemark = _T("");
m_TRANS_ID = _T("");
//}}AFX_DATA_INIT
}
void CTransEditDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTransEditDlg)
DDX_Control(pDX, IDC_DUTYLIST, m_ctrDutylist);
DDX_Text(pDX, IDC_TEL, m_strTel);
DDV_MaxChars(pDX, m_strTel, 15);
// DDX_Text(pDX, IDC_FACTOR, m_sFactor);
// DDV_MaxChars(pDX, m_sFactor, 10);
// DDX_Text(pDX, IDC_IA, m_sIa);
// DDX_Text(pDX, IDC_IB, m_sIb);
// DDX_Text(pDX, IDC_IC, m_sIc);
// DDX_Text(pDX, IDC_TEMP, m_sTemp);
// DDX_Text(pDX, IDC_UA, m_sUa);
// DDX_Text(pDX, IDC_UB, m_sUb);
// DDX_Text(pDX, IDC_UC, m_sUc);
DDX_Text(pDX, IDC_REMARK, m_sRemark);
DDV_MaxChars(pDX, m_sRemark, 200);
DDX_Text(pDX, IDC_TRANS_ID, m_TRANS_ID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTransEditDlg, CDialog)
//{{AFX_MSG_MAP(CTransEditDlg)
ON_BN_CLICKED(IDC_SAVE, OnSave)
ON_BN_CLICKED(IDC_ADDDUTY, OnAddduty)
ON_BN_CLICKED(IDC_DELDUTY, OnDelduty)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTransEditDlg message handlers
void CTransEditDlg::OnSave()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
// Data_Param strQuery;char SQL[300];
CTransGL dlg;
CString info;
m_sFactor.Replace("\'","");
m_sTemp.Replace("\'","");
m_sRemark.Replace("\'","");
if(m_strTel=="")
{
AfxMessageBox("号码不能为空!");
return;
}
CDatabase1 database;
if(!database.ConnectDB())
{
AfxMessageBox("连接服务器失败!");
return;
}
CString charset="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database.ExecuteSQL(charset,charset.GetLength());//执行语句.
if(m_strID=="add")
{
//增加
info.Format("insert into trans_info (TRANS_ID,TRANS_TEL,Remark) values('%s','%s','%s')",
m_TRANS_ID,m_strTel,m_sRemark);
//strQuery.tab_name="trans_info (TEL,INFO)";
//info.Format("\'%s\',\'%s\'",m_strTel,m_strInfo);
//sprintf(SQL,info);
//strQuery.insert_val=SQL;
//if(!database.InsertRecord(&strQuery))
if(!database.ExecuteSQL(info,info.GetLength()))
{
AfxMessageBox("插入数据失败!");
return;
}
}
else
{
info.Format("update trans_info set TRANS_ID='%s',TRANS_TEL='%s',Remark='%s' where TRANS_num='%s'",
m_TRANS_ID,m_strTel,m_sRemark,m_strID);
if(!database.ExecuteSQL(info,info.GetLength()))
{
AfxMessageBox("编辑变压器信息失败!");
return;
}
}
CDialog::OnOK();
}
#include "dutydlg.h"
void CTransEditDlg::OnAddduty()
{
CDutyDlg dlg;
dlg.m_sID=m_TRANS_ID;
if(dlg.DoModal()!=IDCANCEL)
{
bindduty();
}
}
void CTransEditDlg::bindduty()
{
m_ctrDutylist.DeleteAllItems();
/* def.Format("duty_info.duty_name=trans_duty.duty_name and trans_duty.trans_id=%s",m_TRANS_ID);
result.where_def=def.GetBuffer(100);
if(database.SelectRecord(&result))
{
int count=(int)database.GetRowNum();
for(int i=0;i<count;i++)
{
database.SeekData(i);
MYSQL_ROW row=database.GetRecord();
m_ctrDutylist.InsertItem(i,row[0]);
m_ctrDutylist.SetItemText(i,1,row[1]);
m_ctrDutylist.SetItemText(i,2,row[2]);
m_ctrDutylist.SetItemText(i,3,row[3]);
}
}*/
//查询ID对应的责任人姓名
CDatabase1 database_duty_name;
if(!database_duty_name.ConnectDB())
{
return;
}
CString charset1="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database_duty_name.ExecuteSQL(charset1,charset1.GetLength());//执行语句
Data_Param result1;
result1.tab_name="trans_duty";
result1.select_exp="DUTY_NAME";
CString def1;
// def1="TRANS_ID like '%"+m_TRANS_ID+"%'";
def1.Format("TRANS_ID='%s'",m_TRANS_ID);
result1.where_def=def1.GetBuffer(100);
if(database_duty_name.SelectRecord(&result1))
{
int count=(int)database_duty_name.GetRowNum();
for(int j=0;j<count;j++)
{
database_duty_name.SeekData(j);
MYSQL_ROW row1=database_duty_name.GetRecord();
CString name;
name=row1[0];
//查询ID对应的责任人姓名
CDatabase1 database2;
if(!database2.ConnectDB())
{
return;
}
CString charset="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database2.ExecuteSQL(charset,charset.GetLength());//执行语句.
Data_Param result;
result.tab_name="duty_info";
result.select_exp="DUTY_ID,duty_name,duty_tel,remark";
CString def;
def.Format("duty_name='%s'",name);
// def="duty_name like '%"+name+"%'";
result.where_def=def.GetBuffer(100);
if(database2.SelectRecord(&result))
{
int count=(int)database2.GetRowNum();
for(int i=0;i<count;i++)
{
database2.SeekData(i);
MYSQL_ROW row=database2.GetRecord();
m_ctrDutylist.InsertItem(i,row[0]);
m_ctrDutylist.SetItemText(i,1,row[1]);
m_ctrDutylist.SetItemText(i,2,row[2]);
m_ctrDutylist.SetItemText(i,3,row[3]);
}
}
}
}
}
BOOL CTransEditDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_ctrDutylist.InsertColumn(0,"编号",LVCFMT_CENTER,40,0);
m_ctrDutylist.InsertColumn(1,"负责人",LVCFMT_CENTER,120,1);
m_ctrDutylist.InsertColumn(2,"TEL",LVCFMT_CENTER,120,2);
m_ctrDutylist.InsertColumn(3,"备注",LVCFMT_CENTER,100,3);
m_ctrDutylist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
bindduty();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTransEditDlg::OnDelduty()
{
POSITION pos = m_ctrDutylist.GetFirstSelectedItemPosition();
if (pos == NULL)
{
AfxMessageBox("请选择要删除的负责人!");
return;
}
if(AfxMessageBox("确实要删除该负责人吗?",MB_OKCANCEL)==IDCANCEL)
{
return;
}
int count=m_ctrDutylist.GetSelectedCount();
CDatabase1 database;
if(!database.ConnectDB())
{
AfxMessageBox("删除失败!");
return;
}
CString sSQL;
CString charset="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database.ExecuteSQL(charset,charset.GetLength());//执行语句.
while (count--)
{
int nItem = m_ctrDutylist.GetNextSelectedItem(pos);
sSQL.Format("delete from trans_duty where duty_name='%s'",
m_ctrDutylist.GetItemText(nItem,1));
if(!database.ExecuteSQL(sSQL,sSQL.GetLength()))
{
AfxMessageBox("操作失败!");
break;
}
}
bindduty();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -