GetItem((lo" />
ErrorsPtr pErrors=m_KIpConnection->GetErrors();
if (pErrors->GetCount()==0)
MessageBox(NULL,eErrors.ErrorMessage(),"",MB_KIOK|MB_KIICONEXCLAMA TION); else
{
for (int i=0;i
{
_KIbstr_KIt desc=pErrors->GetItem((long)i)->GetDescription();
MessageBox(NULL,desc," ",MB_KIOK|MB_KIICONEXCLAMA TION);
}
}
}
_KIRecordsetPtr&
void ado::rstOpen(CString TSQL)
{
try
{
_KIbstr_KIt bstrSQL=TSQL.AllocSysString();
m_KIpRecordset.CreateInstance(_KIuuidof(Recordset));
m_KIpRecordset->Open(bstrSQL,(IDispatch*)m_KIpConnection,adOpenDynamic,adLockOptimi stic,adCmdText);
m_KIpRecordset->Open(bstrSQL,m_KIpConnection.GetInterfacePtr(),adOpenDynamic,adLockO ptimistic,adCmdText);
}
catch(_KIcom_KIerror e)
{
m_KIpRecordset=m_KIpConnection->Execute((_KIbstr_KIt)TSQL,NULL,adCmdText);
return false;
}
return m_KIpRecordset;
}
CString ado::GetFieldValue(CString Field)
{
_KIvariant_KIt Thevalue;
CString temp;
Thevalue=m_KIpRecordset->GetCollect((_KIbstr_KIt)Field);
if(Thevalue.vt==VT_KIEMPTY ||Thevalue.vt==VT_KINULL)
temp="";
else
{
temp=(char*)(_KIbstr_KIt)Thevalue;
temp.TrimRight();
temp.TrimLeft();
}
return temp;
}
bool ado::MovePrevious()
{
try
{
m_KIpRecordset->MovePrevious();
}
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description()); return false;
}
return true;
}
bool ado::Move(int nRecordNum)
{
try
{
if(!m_KIpRecordset->BOF)
{
m_KIpRecordset->MoveFirst();
}
m_KIpRecordset->Move(nRecordNum); }
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description()); return false;
}
return true;
}
bool ado::MoveNext()
{
try
{
m_KIpRecordset->MoveNext();
}
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description());
return false;
}
return true;
}
bool ado::MoveFirst()
{
try
{
m_KIpRecordset->MoveFirst();
}
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description());
return false;
}
return true;
}
bool ado::MoveLast()
{
try
{
m_KIpRecordset->MoveLast();
}
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description());
return false;
}
return true;
}
void ado::ExecuteSQL(CString TSQL)
{
try
{
m_KIpConnection->Execute((_KIbstr_KIt)TSQL,NULL,adCmdText); }
catch(_KIcom_KIerror e)
{
AfxMessageBox(e.Description());
}
}
void ado::close()
{
m_KIpRecordset->Close();
m_KIpConnection->Close();
m_KIpRecordset=NULL;
m_KIpConnection=NULL;
::CoUninitialize();
}
void ado::AddNew()
{
m_KIpRecordset->AddNew();
}
void ado::Update()
{
m_KIpRecordset->Update();
}
void ado::SetFieldValue(CString OField,CString value)
{_KIbstr_KIt tt=value.AllocSysString();
_KIbstr_KIt ss=OField.AllocSysString();
m_KIpRecordset->PutCollect((_KIvariant_KIt)ss,(_KIvariant_KIt)tt); }
bool ado::recordbof()
{
if(m_KIpRecordset->BOF)
{
return true;
}else
{
return false;
}
}
bool ado::recordeof()
{
if(m_KIpRecordset->adoEOF)
{
return true;
}else
{
return false;
}
}
(三)
fkm.cpp : implementation file
#include "stdafx.h"
#include "khmanager.h"
#include "fkm.h"
#include "ado.h"
#include "khfk.h"
#ifdef _KIDEBUG
#define new DEBUG_KINEW
#undef THIS_KIFILE
static char THIS_KIFILE[] = _KIFILE_KI;
#endif
fkm dialog
fkm::fkm(CWnd* pParent *=NULL*)
: CDialog(fkm::IDD, pParent)
{
{{AFX_KIDATA_KIINIT(fkm)
NOTE: the ClassWizard will add member initialization here
}}AFX_KIDATA_KIINIT
}
void fkm::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
{{AFX_KIDATA_KIMAP(fkm)
DDX_KIControl(pDX, IDC_KILIST1, m_KIlist);
DDX_KIControl(pDX, IDC_KICOMBO1, m_KIcom);
}}AFX_KIDATA_KIMAP
}
BEGIN_KIMESSAGE_KIMAP(fkm, CDialog)
{{AFX_KIMSG_KIMAP(fkm)
ON_KIBN_KICLICKED(IDC_KIBUTTON1, OnButton1)
ON_KIBN_KICLICKED(IDC_KIBUTTON2, OnButton2)
ON_KINOTIFY(NM_KIDBLCLK, IDC_KILIST1, OnDblclkList1) }}AFX_KIMSG_KIMAP
END_KIMESSAGE_KIMAP()
fkm message handlers
BOOL fkm::OnInitDialog()
{
CDialog::OnInitDialog();
ado rst;
rst.Open("select * from tb_KIClient_KIkhmyd",adCmdText);
int rstnum=rst.GetRecordCount();
int i;
for(i=1;i<=rstnum;i++)
{
this->m_KIcom.AddString(rst.GetFieldValue("khmyd_KImyd")); rst.Move(i);
}
rst.close();
m_KIlist.ModifyStyle(0L,LVS_KIREPORT);
m_KIlist.ModifyStyle(0L,LVS_KISINGLESEL);
m_KIlist.ModifyStyle(0L,LVS_KISHOWSELALWAYS);
m_KIlist.ModifyStyle(0L,LVS_KINOSORTHEADER);
m_KIlist.SetExtendedStyle(LVS_KIEX_KIGRIDLINES|
LVS_KIEX_KIFULLROWSELECT|
LVS_KIEX_KIHEADERDRAGDROP|
LVS_KIEX_KIONECLICKACTIV A TE);
m_KIlist.InsertColumn(0,"意见反馈编号");
m_KIlist.InsertColumn(1,"反馈标题");
m_KIlist.InsertColumn(2,"客户名称");
m_KIlist.InsertColumn(3,"反馈内容");
m_KIlist.InsertColumn(4,"反馈日期");
m_KIlist.InsertColumn(5,"受理人");
m_KIlist.InsertColumn(5,"客户满意度");
m_KIlist.InsertColumn(5,"备注信息");
m_KIlist.SetColumnWidth(0,100);
m_KIlist.SetColumnWidth(1,100);
m_KIlist.SetColumnWidth(2,100);
m_KIlist.SetColumnWidth(3,100);
m_KIlist.SetColumnWidth(4,100);
m_KIlist.SetColumnWidth(5,100);
m_KIlist.SetColumnWidth(6,100);
m_KIlist.SetColumnWidth(7,100);
return TRUE; return TRUE unless you set the focus to a control
EXCEPTION: OCX Property Pages should return FALSE }
void fkm::OnButton1()
{
this->EndDialog(true);
}
void fkm::loadlist()
{
ado rst;
rst.rstOpen("select * from tb_KIClient_KIkhfk");
int recordcount=rst.GetRecordCount();
int ii;
for(ii=1;ii<=recordcount;ii++)
{
m_KIlist.InsertItem(ii-1,"");
m_KIlist.SetItemText(ii-1,0,rst.GetFieldValue("khfk_KIid"));
m_KIlist.SetItemText(ii-1,1,rst.GetFieldValue("khfk_KIfkbt"));
m_KIlist.SetItemText(ii-1,2,rst.GetFieldValue("khfk_KIkhmc"));
m_KIlist.SetItemText(ii-1,3,rst.GetFieldValue("khfk_KIfknr"));
m_KIlist.SetItemText(ii-1,4,rst.GetFieldValue("khfk_KIfkrq"));
m_KIlist.SetItemText(ii-1,5,rst.GetFieldValue("khfk_KIfkslr"));
m_KIlist.SetItemText(ii-1,6,rst.GetFieldValue("khfk_KIkhmyd"));
m_KIlist.SetItemText(ii-1,7,rst.GetFieldValue("khfk_KIbz"));
rst.Move(ii);
}
rst.close();
}
void fkm::OnButton2()
{
this->m_KIlist.DeleteAllItems();
CString com,sql;
this->m_KIcom.GetWindowText(com);
if(com.IsEmpty())
{MessageBox("请选择","提示");
return;}
sql.Format("select * from tb_KIClient_KIkhfk where khfk_KIkhmyd='%s'",com); ado rst;
rst.Open(sql,adCmdText);
int recordcount=rst.GetRecordCount();
int ii;
for(ii=1;ii<=recordcount;ii++)
{
m_KIlist.InsertItem(ii-1,"");
m_KIlist.SetItemText(ii-1,0,rst.GetFieldValue("khfk_KIid"));
m_KIlist.SetItemText(ii-1,1,rst.GetFieldValue("khfk_KIfkbt"));
m_KIlist.SetItemText(ii-1,2,rst.GetFieldValue("khfk_KIkhmc"));
m_KIlist.SetItemText(ii-1,3,rst.GetFieldValue("khfk_KIfknr"));
m_KIlist.SetItemText(ii-1,4,rst.GetFieldValue("khfk_KIfkrq"));
m_KIlist.SetItemText(ii-1,5,rst.GetFieldValue("khfk_KIfkslr"));
m_KIlist.SetItemText(ii-1,6,rst.GetFieldValue("khfk_KIkhmyd"));
m_KIlist.SetItemText(ii-1,7,rst.GetFieldValue("khfk_KIbz"));
rst.Move(ii);
}
rst.close();
}
void fkm::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
int i=m_KIlist.GetHotItem();
if(i<0)
{return;}
KHFK fk;
fk.edit1=this->m_KIlist.GetItemText(i,0); fk.edit2=this->m_KIlist.GetItemText(i,1); fk.edit5=this->m_KIlist.GetItemText(i,2); fk.edit6=this->m_KIlist.GetItemText(i,3); fk.edit7=this->m_KIlist.GetItemText(i,4); fk.DoModal();
*pResult = 0;
}