已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC通过ADO打开SQL SERVER数据库,并将其中的表、字段、数据显示出来的小程序2007年12月26日 星期三 21:48下载地址:/user/huliang66/1、连接数据库类BOOL CSqlDlg:Ado(CString strConn):CoInitialize(NULL); / 初始化OLE/COM库环境 try m_pConn.CreateInstance(ADODB.Connection); /创建Connection对象 m_pConn-ConnectionTimeout=5; /设置超时时间为5秒 m_pConn-Open(_bstr_t)strConn, , adModeUnknown);/连接数据库 catch(_com_error e) CATCH_ERROR; return false;return true;/2、执行strSQL的SQL语句,返回集录集_RecordsetPtr& CSqlDlg:GetRS(CString strSQL) try m_pRS.CreateInstance(_uuidof(Recordset); m_pRS-Open(_bstr_t)strSQL,m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);/执行SQL语句catch(_com_error e) CATCH_ERROR return m_pRS;/3、获取所有表名-SQL SERVER_RecordsetPtr pRS = GetRS(select name from sysobjects where xtype=U);CString user;int x=0;strArry.RemoveAll();try while (pRS-adoEOF=0) strArry.Add(LPCSTR)(_bstr_t)pRS-GetCollect(_variant_t(long)x); pRS-MoveNext(); catch(_com_error e) CATCH_ERROR return;/4、将表名写入列表中for(int i=0; iEnableWindow(0);GetDlgItem(IDC_OPEN)-EnableWindow(1);/列表控件双击事件读出表中记录/6、m_list1.DeleteAllItems();UpdateData(1); int q=0;/获取记录条数q=GetNum(m_str_list);/获取字段个数=CString strSql1;strSql1=select * from;strSql1+= ;strSql1+=m_str_list;_RecordsetPtr m_pRS2 = GetRS(strSql1); dataSize=GetFieldsCount(m_pRS2);/=if (dataSize=0) return;/获取字段名strName=CString *strName=new CStringdataSize;for (int bb=0;bbdataSize;bb+) GetFieldsName(m_pRS,bb,*(strName+bb);/=/清空表头while(m_list1.DeleteColumn(0);/将字段显示出来for (int cc=0;ccdataSize;cc+) m_list1.InsertColumn(cc, *(strName+cc), LVCFMT_LEFT, 150);if (q=0) return;CString strSql;strSql=select * from;strSql+= ;strSql+=m_str_list;_RecordsetPtr pRS = GetRS(strSql);CStringArray *strdataArray=new CStringArraydataSize;/获取字段内容,并存入strdataArray+aa中=try for (int aa=0;aaadoEOF =0) CString str1; _variant_t varTemp; / str1.Format(%s,(LPCSTR)(_bstr_t)pRS-GetCollect(_variant_t(long)aa); /判断数据库中的NULL值 varTemp=pRS-GetCollect(_variant_t(long)aa); if(varTemp.vt =VT_NULL) str1=; else str1.Format(%s,(LPCSTR)(_bstr_t)pRS-GetCollect(_variant_t(long)aa); (strdataArray+aa)-Add(str1); pRS-MoveNext(); pRS-MoveFirst(); catch(_com_error e) CATCH_ERROR return;/= CString str=;CString str;for (int tt=0;ttq;tt+) m_list1.InsertItem(q,1,0);/插入行 for(int i=0; iGetAt(tt); TRACE( 行:%d, 列:%d,数据:%sn,tt,i,str); m_list1.SetItemText(tt,i,str);/插入内容 / MessageBox(str); delete strName;delete strdataArray; /释放申请的空间/得到记录条数函数int CSqlDlg:GetNum(CString strc)int nSize=0;CString strSql;strSql=select count(*) from;strSql+= ;strSql+=strc;_RecordsetPtr pRS = GetRS(strSql);CString s=(LPCSTR)(_bstr_t)pRS-GetCollect(_variant_t(long)0);char *ch=new chars.GetLength();ch=(LPSTR)(LPCTSTR)s;nSize=atoi(ch); return nSize;delete ch;/获取字段名函数BOOL CSqlDlg:GetFieldsName(_RecordsetPtr RcdPtr, int nField, CString & strFieldName) if(NULL = RcdPtr | nField = RcdPtr-GetFields()-Count) return FALSE;_variant_t vt(long)nField);strFieldName.Format(_T(%s), (char*)(RcdPtr-GetFields()-Itemvt-Name); return true;/获取字段个数函数int CSqlDlg:GetFieldsCount(_RecordsetPtr RcdPtr) int nCount=0;if(NULL != RcdPtr) nCount = RcdPtr-GetFields()-Count; return nCount; /断开连接void CSqlDlg:OnOpen() / TODO: Add your control notification handler code hereGetDlgItem(IDC_LIST)-EnableWindow(1);GetDlgItem(IDC_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册岩土工程师之《岩土基础知识》模考模拟试题带答案详解(基础题)
- 2025年县乡教师选调考试《教育学》通关题库含答案详解(完整版)
- 2026年检验类临床医学检验技术(师)试题预测试卷及参考答案详解【培优B卷】
- 2026年试验检师题库高频重点提升及参考答案详解(夺分金卷)
- 贵金属首饰机制工安全操作能力考核试卷含答案
- 燃料集控值班员诚信品质水平考核试卷含答案
- 2025年网约车行业服务创新及用户体验提升考试试卷及答案
- 2025年县乡教师选调考试《教育学》题库高频重点提升(共100题)及参考答案详解(夺分金卷)
- 2025年县乡教师选调考试《教育学》模拟考试试卷附答案详解【完整版】
- 2025年押题宝典注册岩土工程师之《岩土基础知识》题库及参考答案详解1套
- 梁裂缝修补方案
- J17J177 钢丝网架珍珠岩复合保温外墙板建筑构造
- 实习律师面试宝典
- 2023年05月山东济南新旧动能转换起步区管委会所属事业单位公开招聘工作人员(14人)笔试历年高频考点试题含答案详解
- 2023届高考作文复习:寓言类材料作文审题立意写作课件(共17张PPT)
- 2023年河南地矿职业学院单招考试职业适应性测试模拟试题及答案解析
- YY/T 0681.11-2014无菌医疗器械包装试验方法第11部分:目力检测医用包装密封完整性
- GB/T 2653-2008焊接接头弯曲试验方法
- 大型设备说明-涂胶显影机第1台
- 气胸的急救及护理
- 科技创新引领新时代-三次科技革命及其影响下的社会发展-高三统编版(2019)历史一轮复习
评论
0/150
提交评论