WEB开发网
开发学院软件开发VC VC 操作 SQL Server 主从表 阅读

VC 操作 SQL Server 主从表

 2006-07-23 11:17:17 来源:WEB开发网   
核心提示: 树形控件的事件处理: void CClassTreeView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult){NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;// TODO: Add your c

树形控件的事件处理: void CClassTreeView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
  NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
  // TODO: Add your control notification handler code here  
  CTreeCtrl& refTreeCtrl=GetTreeCtrl();
  HTREEITEM hSelected=pNMTreeView->itemNew.hItem;
  if(hSelected!=NULL)
  {
    m_strMenuName=refTreeCtrl.GetItemText(hSelected);
    if(AfxGetMainWnd()->IsWindowEnabled())
    UpdateDagView();
  
  }
  //-----------
  *pResult = 0;
}
五、实现主从表的显示

由于我假设不知道数据库中有多少字段,字段名都是不知道的。所有都动态生成。所以首先要检索主键。把主键检索出来以后,然后得到列表当前选择行的对应于主键列的数据。然后以这些主键列的值当作检索条件检索从表的数据(从表的主键一定多于主表)最后将结果显示出来。看起来过程也挺简单的,如果用dotnet中DataGrid做的话,太简单了是吧,但VC操作起来,就有点麻烦了。就拿从列表取当前选择行的主键列的数据的话,和dotnet一比,就知道VC麻烦在哪儿了。(不过我还是比较喜欢VC,嘿嘿)。一个DataGrid,如果我知道了列名,又茯取了当前行的行号(CurrentRowIndex)

如果你后台是直接绑定的一个DataTable,就可以直接取得这个值:myTable.Rows[CurrnetRowIndex][“pkey1”].ToString();当然如果你后面不是直接绑定一个DataTable,而是一个结果经过虑后的结果,那么可能会稍烦琐一点。这里不对这种情况进行计讨论。下面看一下VC下是怎么处里的,(如果有更好的方法,请通知我,先谢了) int CDagView::GetColumnIndex(CListCtrl &ref,LPCTSTR strCol)
{
  CHeaderCtrl * pHeader=ref.GetHeaderCtrl();
  int nCount=pHeader->GetItemCount();
  TCHAR lpBuffer[256];
  bool  fFound = false;
  HDITEM hdi;
  hdi.mask = HDI_TEXT;
  hdi.pszText = lpBuffer;
  hdi.cchTextMax = 256;
  int index=-1;
  for (int i=0;!fFound && (i < nCount);i++)
  {
    pHeader->GetItem(i, &hdi);
    
    if (strcmp(hdi.pszText, strCol) == 0)
    {
      index=i;
      fFound = true;
    }
  }
  return index;
}
iSubItem=GetColumnIndex(refListCtrl);
CString strValue=refListCtrl.GetItemText(iCurrent,iSubItem);   
先取得列号然后取得行号,最后取这个值......好了,就写这么多吧,具体细节再看代码。

六、结束语

其实这个程式比较简单,在Windows 2k下调试通过!就写到这里吧,不足之处,见谅!有时候,再好的技术,如果缺乏有效的示例,也会变得晦涩难懂。像本文中的列表、树形控件参数很多,使用VC++虽然说可以发挥出他们最强劲的功能,但是有一部分参数,在MSDN中只是简要介绍,没有详细的示例说明(我猜:微软内部肯定有更加详细的示例及文档,或者说叫引擎,不对外公布)这就要靠广大程序员的努力探索了,知识共享,大家共同进步。

上一页  1 2 3 4 

Tags:VC 操作 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接