VC6.0利用ADO添加删除记录

bool CMyDataBase::DeleteUserOfSelected(CString UserID)
{
 
 CString strSql;
 _variant_t RecordsAffected;

 strSql.Format("DELETE FROM users WHERE UserID = %d",atoi(UserID)); // strSql="DELETE FROM users WHERE UserID = 10";
 //AfxMessageBox(strSql);
 m_pConnection->Execute((_bstr_t)strSql,&RecordsAffected,adCmdText);
 AfxMessageBox(strSql);
 return TRUE;
}

void CMyDataBase::SaveNewUserToDataBase()
{
 //实际此函数应采用一个结构体传入参数

// InitDataBase();//这是必须的

 CString strSql;

 _variant_t RecordsAffected;
 CString m_1,m_2,m_3;
 m_1="林妹妹";
 m_2="13579";
 m_3="小林";

 strSql.Format("INSERT INTO users(UserName,LoginPassWord,DisplayName) VALUES ('%s','%s','%s')",m_1,m_2,m_3);
 m_pConnection->Execute((_bstr_t)strSql,&RecordsAffected,adCmdText);

}

bool CMyDataBase::InitDataBase()
{
 //初始化数据库连接


 HRESULT hr;
 try
 {
  hr = m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
  if(SUCCEEDED(hr))
  {
   hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DataBase.mdb","","",adModeUnknown);///连接数据库
   //hr = m_pConnection->Open("studb","","",adModeUnknown);
  }
 }
 catch(_com_error e)///捕捉异常
 {
  CString errormessage;
  errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
  AfxMessageBox(errormessage);///显示错误信息
 }
 _variant_t RecordsAffected;
 //m_pConnection->Execute("CREATE TABLE studentinfo(stuNo TEXT,stuname TEXT,stuaddress TEXT,stuphone TEXT)",&RecordsAffected,adCmdText);
// CString strSQL;

// CString s1,s2;

// strSQL.Format("INSERT INTO users(UserName,PassWord) VALUES ('%s','%s')","abc","123456");
// strSQL.Format("INSERT INTO users(UserName,LoginPassWord,DisplayName) VALUES ('%s','%s','%s')","东方不败","123456","东方妹妹");

// m_pConnection->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
 return TRUE;
}

 

//把会议室列表的初始化打包到这儿
void CMyDataBase::InitConfListCtrl(CListCtrl* pListCtrl)
{

 /*直接插入行测试指针
 pListCtrl->InsertItem(0, 0);//插入行
 pListCtrl->SetItemText(0, 1, "公共聊天室");//设置数据
 pListCtrl->SetItemText(0, 2, "50");
 pListCtrl->SetItemText(0, 3, "5");
 pListCtrl->SetItemText(0, 4, "2010-12-1");
 pListCtrl->SetItemText(0, 5, "2010-12-1");
 */

 InitDataBase();//这是必须的

 //设置风格
 LONG lStyle;
 lStyle = GetWindowLong(pListCtrl->m_hWnd, GWL_STYLE);//获取当前窗口style
 lStyle &= ~LVS_TYPEMASK; //清除显示方式位
 lStyle |= LVS_REPORT; //设置style
 SetWindowLong(pListCtrl->m_hWnd, GWL_STYLE, lStyle);//设置style

 DWORD dwStyle = pListCtrl->GetExtendedStyle();
 dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
 dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
 //dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
 pListCtrl->SetExtendedStyle(dwStyle); //设置扩展风格

 pListCtrl->InsertColumn( 0, "ID", LVCFMT_LEFT, 0 );//插入列,将宽度设置成0,在外观上就看不到此列,用来存放会员号
 pListCtrl->InsertColumn( 1, "ID", LVCFMT_LEFT, 60 );
 pListCtrl->InsertColumn( 2, "会议室名称", LVCFMT_LEFT, 100 );
 pListCtrl->InsertColumn( 3, "容量", LVCFMT_LEFT, 60 );
 pListCtrl->InsertColumn( 4, "在线", LVCFMT_LEFT, 60 );
 pListCtrl->InsertColumn( 5, "开始", LVCFMT_LEFT, 140 ); 
 pListCtrl->InsertColumn( 6, "结束", LVCFMT_LEFT, 140 ); 

 HRESULT hr;
 _RecordsetPtr pRentRecordset;
    hr=pRentRecordset.CreateInstance(__uuidof(Recordset));
 if(FAILED(hr))
 {
  AfxMessageBox("createinstance of Recordset failed!\n can`t initiate List control!");
  return;
 }

 

 CString strSql;
 _variant_t var;
 CString strValue;
 int curItem=0;
 strSql="SELECT * FROM Conf";

 

 try
 {
  hr=pRentRecordset->Open(_variant_t(strSql),
                    m_pConnection.GetInterfacePtr(), 
                    adOpenDynamic,
                    adLockOptimistic,
                    adCmdText);
  if(SUCCEEDED(hr))
  {
   while(!pRentRecordset->adoEOF)
   {
 
    var = pRentRecordset->GetCollect((long)0);
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->InsertItem(curItem,strValue);

    var = pRentRecordset->GetCollect("ConfID");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,1,strValue);

    var = pRentRecordset->GetCollect("ConfName");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,2,strValue);

    var = pRentRecordset->GetCollect("MaxNum");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,3,strValue);
    
    var = pRentRecordset->GetCollect("OnlineNum");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,4,strValue);

    var = pRentRecordset->GetCollect("StartTime");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,5,strValue);

    var = pRentRecordset->GetCollect("EndTime");
    if(var.vt != VT_NULL)
     strValue = (LPCSTR)_bstr_t(var);
    pListCtrl->SetItemText(curItem,6,strValue);


    pRentRecordset->MoveNext();
    curItem++;
   }
  }
  else
  {
   AfxMessageBox("Open recordset fail!");
  }
 }
 catch(_com_error *e)
 {
  AfxMessageBox(e->ErrorMessage());
  return;
 }   

 
    pRentRecordset->Close();
 pRentRecordset=NULL;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值