登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

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

2010-10-29 16:21:40|  分类: VC++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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;

}

  评论这张
 
阅读(2835)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018