|
/******************************************************************* OLEDB 访问Accesss数据库们与SQL不同这里没有设置密码 *****************************************************************/
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile") #include <iostream> #include <windows.h> #include <,C++ 帮忙如何16进制转为10进制;iomanip> //for setw() using namespace std; class STU { public: char snum[10]; //学号 char sname[10]; //姓名 char ssex[2]; //姓别 long sage; //年龄 char smajor[20]; //专业 public: STU(){} ~STU(){} };
int main() { STU student; ::CoInitialize(NULL); // 初始化OLE/COM库环境 ,为拜访ADO接口做筹备
_RecordsetPtr m_pRecordset("ADODB.Recordset");
_ConnectionPtr m_pConnection("ADODB.Connection"); _bstr_t bstrSQL("select * from stu_info"); //查问语句
char * query_cmd = "DELETE FROM stu_info WHERE sname = '李破'";
try { // 创立Connection对象 m_pConnection.CreateInstance("ADODB.Connection"); // 设置衔接字符串,必需是BSTR型或者_bstr_t类型
_bstr_t strConnect= "Provider=SQLOLEDB;Server=(local);Database=student;";
//若数据库在网络上则Server为形如(192.168.1.5,3340)
m_pConnection->Open(strConnect,"","",adModeUnknown);//Access这里不设置密码,参数二是用户名,三是 密码,这里都置空就成
if(m_pConnection==NULL) cerr<<"Lind data ERROR!\n"; // 创建记录集对象 m_pRecordset.CreateInstance(__uuidof(Recordset)); // 获得表中的记载 m_pRecordset->Open(bstrSQL,c++ 如何连接mysql数据库,m_pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
_variant_t vsnum,vsname,vsage,vssex,vsmajor; //对应库中的snum,sname,sage,ssex,smajor cout << " 学号 姓名 春秋 姓别 专业"; cout << "\n----------------------------------------------------------------\n";
while (!m_pRecordset->EndOfFile) {  ,c++ 中如何声明一个 int 变量; vsnum = m_pRecordset->GetCollect(_variant_t((long)0));//这儿给字段编号跟字段名都能够 vsname = m_pRecordset->GetCollect("sname"); vsage = m_pRecordset->GetCollect("sage"); vssex = m_pRecordset->GetCollect("ssex"); vsmajor = m_pRecordset->GetCollect("smajor");
if (vsnum.vt != VT_NULL&&vsname.vt != VT_NULL&&vsage.vt != VT_NULL &&vssex.vt != VT_NULL&&vsmajor.vt != VT_NULL) {  ,c#网页设计!如何实现分页的功能?;cout.setf(ios::left); cout << setw(14) << (char*)(_bstr_t)vsnum; cout << setw(14) << (char*)(_bstr_t)vsname; cout << setw(8) << vsage.lVal; cout << setw(8) << (char*)(_bstr_t)vssex; cout <<setw(20) << (char*)(_bstr_t)vsmajor; cout.unsetf(ios::left); cout << endl; }
m_pRecordset->MoveNext(); ///移到下一条记录 }
cout << "\n----------------------------------------------------------------\n"; cout << "\n请输入你要增添的学生信息\n"; cout << "学号:"; cin >> student.snum; cout << "\n姓名:"; cin >> student.sname; cout << "\n年纪:"; cin >> student.sage; cout << "\n姓别:"; cin >> student.ssex; cout << "\n专业:"; cin >> student.smajor,C#如何连接access数据库。;
m_pRecordset->Move(2); //挪动到第一条记录 m_pRecordset->AddNew(); ///增加新记载 m_pRecordset->PutCollect("snum",_variant_t(student.snum)); m_pRecordset->PutCollect("sname",_variant_t(student.sname)); m_pRecordset->PutCollect("sage",_variant_t(student.sage)); m_pRecordset->PutCollect("ssex",_variant_t(student.ssex)); m_pRecordset->PutCollect("smajor",_variant_t(student.smajor)); m_pRecordset->Update();
m_pConnection->Execute(query_cmd,NULL,1); //用Execute履行sql语句来删除 m_pRecordset->Close(); // 封闭记录集 }
// 捕获异常 catch(_com_error e) { // 显示过错信息 cerr <<,C#如何调用事务; "\nERROR:" << (char*)e.Description();//抛出异样 } if(m_pConnection->State) m_pConnection->Close();
::CoUninitialize();
return 0; }
(责任编辑:admin)
|
|