用ADO操作数据库的有关问题
用ADO操作数据库的问题、
代码
跟着视频一步步来的 还是会出错
#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
#include <afxwin.h>
如果我这样放头文件 d:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16): fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
1> 就会出现这个问题
#include <afxwin.h> // MFC 核心组件和标准组件
#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
如果我这样放
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2065: “pRst”: 未声明的标识符
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2660: “Connection15::Execute”: 函数不接受 1 个参数
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2059: 语法错误:“)”
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(185): error C2065: “pRst”: 未声明的标识符
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(185): error C2065: “rsEOF”: 未声明的标识符
就出现这个错误
这个怎么解决啊、、 怎么办啊
------解决方案--------------------
pRst=pConn->Execute("select * from student"),NULL,adCmdText);
你的括号不匹配,以后写代码注意点
代码
- C/C++ code
void CshujukuDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CoInitialize(NULL); _ConnectionPtr pConn(_uuidof(ConnectionPtr)); _RcordSetPtr pRst(_uuidof(RcordSetPtr)); pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_test;Data Source=CHENGFENG-PC"; pConn->Open("","","",-1); pRst=pConn->Execute("select * from student"),NULL,adCmdText); while(pRst!=rsEOF) { m_ListCtrl.SetItemData(0,(_bstr_t)pRst->GetCollect("stu_name")); pRst->MoveNext(); } pRst->Close(); pConn->Close(); pRst.Release(); pConn.Release(); CoUninitialize(); }
- C/C++ code
BOOL CshujukuDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 CRect rc; m_ListCtrl.GetWindowRect(&rc); //获取控件大小 //设置了四列,大小是一样的 m_ListCtrl.InsertColumn(0, _T("序号"), LVCFMT_CENTER, rc.Size().cx/4, 0); m_ListCtrl.InsertColumn(1, _T("学号"), LVCFMT_CENTER, rc.Size().cx/4, 1); m_ListCtrl.InsertColumn(2, _T("姓名"), LVCFMT_CENTER, rc.Size().cx/4, 2); m_ListCtrl.InsertColumn(3, _T("班级"), LVCFMT_CENTER, rc.Size().cx/4, 3); //LVS_EX_GRIDLINES是希望显示网格;LVS_EX_FULLROWSELECT是希望被选中时整行反色显示;LVS_EX_HEADERDRAGDROP是让其支持点击表头排序;LVS_EX_TWOCLICKACTIVATE是希望有鼠标在未被选中的行上移动的时候有一些效果 m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP /*| LVS_EX_TWOCLICKACTIVATE*/); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE }
跟着视频一步步来的 还是会出错
#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
#include <afxwin.h>
如果我这样放头文件 d:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16): fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
1> 就会出现这个问题
#include <afxwin.h> // MFC 核心组件和标准组件
#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
如果我这样放
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2065: “pRst”: 未声明的标识符
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2660: “Connection15::Execute”: 函数不接受 1 个参数
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(184): error C2059: 语法错误:“)”
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(185): error C2065: “pRst”: 未声明的标识符
1>e:\全新的路\代码\shujuku\shujuku\shujukudlg.cpp(185): error C2065: “rsEOF”: 未声明的标识符
就出现这个错误
这个怎么解决啊、、 怎么办啊
------解决方案--------------------
pRst=pConn->Execute("select * from student"),NULL,adCmdText);
你的括号不匹配,以后写代码注意点