WEB开发网
开发学院软件开发VC 用ADO编制SQLPlus程序 阅读

用ADO编制SQLPlus程序

 2008-04-19 20:28:01 来源:WEB开发网   
核心提示:四、"select"操作的处理:首先得到所有的字段名作为列表的标题,然后再显示每一条记录,用ADO编制SQLPlus程序(2),listTable.ShowWindow (SW_SHOW);listTable.DeleteAllItems();int nColumnCount = listTable

四、"select"操作的处理:

首先得到所有的字段名作为列表的标题,然后再显示每一条记录。

listTable.ShowWindow (SW_SHOW);
listTable.DeleteAllItems();
int nColumnCount = listTable.GetHeaderCtrl()->GetItemCount();
// 删除所有的列
for (i=0;i < nColumnCount;i++)
{
   listTable.DeleteColumn (0);
}
int fieldCount=Rsc->Fields ->Count; //得到字段的总数
int fieldLength = 0;
FieldPtr m_fieldCtl;
for(i=0;i<fieldCount;i++)
{
 m_fieldCtl = Rsc->Fields ->GetItem(long(i));  //得到字段名
 fieldLength = m_fieldCtl->DefinedSize*10;
 if (fieldLength >500)  //when field is very long then trim it
 {
    fieldLength = 500;
 }
 else if (fieldLength < 50)
 {
    fieldLength = 50;
 }
 if (fieldLength<m_fieldCtl->Name.length ()*12)
 {
    fieldLength = m_fieldCtl->Name.length ()*12;
 }
 listTable.InsertColumn(i,m_fieldCtl->Name,LVCFMT_LEFT,fieldLength);
}
int nItem = 0;
_variant_t varValue;
_bstr_t bstrValue;
while(!Rsc->adoEOF)
{
 m_fieldCtl = Rsc->Fields ->GetItem(long(0));  //得到字段的值
 varValue = m_fieldCtl->Value;
 if (varValue.vt == VT_NULL) //注意:当值为空时,直接插入会导致异常
 {
    bstrValue = "";
 }
 else
 {
    bstrValue=varValue;
 }
 nItem=listTable.InsertItem(0xffff,bstrValue); //fisrt value
 for(i=1;i<fieldCount;i++) //next all value
 {
    m_fieldCtl = Rsc->Fields ->GetItem(long(i));
    varValue = m_fieldCtl->Value;
    if (varValue.vt == VT_NULL)
    {
      bstrValue = "";
    }
    else
    {
      bstrValue=varValue;
    }
    listTable.SetItem(nItem,i,1,bstrValue,NULL,0,0,0);
 }
 Rsc->MoveNext ();
}

五、其它

其它的就是一些和界面显示有关的内容,和ADO关系不大,在此就不做介绍了。有兴趣的朋友可以直接看代码。

如果还有什么疑问,请直接和我联系,非常希望和各位朋友一起探讨,共同进步。

上一页  1 2 

Tags:ADO 编制 SQLPlus

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