#T#对于ADO.NET的三个接口还是深有研究的,这里发表一下个人讲解关于ADO.NET _ConnectionPtr接口的。_ConnectionPtr接口返回一个记录集或一个空指针。使用ADO.NET _ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。而用 _ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserPtr时不需要。使用ADO.NET _ConnectionPtr接口。_ConnectionPtr主要是一个连接接口,取得与数据库的连接。它的连接字符串可以是自己直接写,也可以指向一个ODBC DSN。
- _ConnectionPtr pConn;
- if (FAILED(pConn.CreateInstance("ADODB.Connection")))
- {
- AfxMessageBox("Create Instance failed!");
- return;
- }
- CString strSRC;
- strSRC="Driver=SQL Server;Server=";
- strSRC+="suppersoft";
- strSRC+=";Database=";
- strSRC+="mydb";
- strSRC+=";UID=SA;PWD=";
- CString strSQL = "Insert into student(no,name,sex,address) values(3,'aaa','male','beijing')";
- _variant_t varSRC(strSRC);
- _variant_t varSQL(strSQL);
- _bstr_t bstrSRC(strSRC);
- if (FAILED(pConn->Open(bstrSRC,"","",-1)))
- {
- AfxMessageBox("Can not open Database!");
- pConn.Release();
- return;
- }
- COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
- pConn->Execute(_bstr_t(strSQL),&vtOptional,-1);
- pConn.Release();
- AfxMessageBox("ok!");