龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC++数据库通用模块开发:数据显示[组图](4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
//超时检查 m_pConnection-ConnectionTimeout = 8; m_pConnection-PutCursorLocation(adUseClient); m_pConnection-Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=DataDisp2.mdb", "", "", adModeUnknow
      //超时检查
      m_pConnection->ConnectionTimeout = 8;
      m_pConnection->PutCursorLocation(adUseClient);
      m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data
  Source=DataDisp2.mdb", "", "", adModeUnknown);
    }
    catch(_com_error e)
    {
      AfxMessageBox("数据库连接失败!");
      return FALSE;
    }
    try
    {
  //初始化记录集对象
  m_pRecordset.CreateInstance("ADODB.Recordset");
  //打开记录集
      m_pRecordset->Open("SELECT * FROM BALANCE",_variant_t((IDispatch
  *)m_pConnection,true), adOpenDynamic, adLockPessimistic, adCmdText);
    } 
    catch(_com_error e)//捕捉异常
{
      CString temp;
      temp.Format("aaa连接数据库错误信息:%s",e.ErrorMessage());
      AfxMessageBox(temp);
      return 0;
    }
  //绑定数据源
    m_dbTest.SetRefDataSource(NULL);
    m_dbTest.SetRefDataSource((LPUNKNOWN)m_pRecordset);
    m_dbTest.SetColumnHeaders(2) ;
  //设置列宽与列头
    _variant_t vIndex;
    vIndex = long(0);
    m_dbTest.GetColumns().GetItem(vIndex).SetWidth(50);
    m_dbTest.GetColumns().GetItem(vIndex).SetCaption("姓名");
    vIndex = long(1);
    m_dbTest.GetColumns().GetItem(vIndex).SetWidth(50);
    m_dbTest.GetColumns().GetItem(vIndex).SetCaption("收入");
    vIndex = long(2);
    m_dbTest.GetColumns().GetItem(vIndex).SetWidth(50);
    m_dbTest.GetColumns().GetItem(vIndex).SetCaption("支出");
    vIndex = long(3);
    m_dbTest.GetColumns().GetItem(vIndex).SetWidth(30);
    m_dbTest.GetColumns().GetItem(vIndex).SetCaption("余额");
    vIndex = long(4);
    m_dbTest.GetColumns().GetItem(vIndex).SetWidth(30);
    m_dbTest.GetColumns().GetItem(vIndex).SetCaption("时间");
  //显示更新
    m_dbTest.Refresh();
    return TRUE;
  }

  至此就实现用表格显示数据库中的数据,但是这个程序的功能很有限,只能显示数据,不能对表格中的数据进行编辑。接下来介绍几种常用的表格编辑方法。

精彩图集

赞助商链接