首页 > 数据库 > 数据库开发技术 > VC的另类数据库编程(转)
| Dim con As New ADODB.Connection 定义ADO会话连接对象 Dim cmd As New ADODB.Command 定义ADO命令对象 |
| Public Function ado_Init() con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Data Source=sms.mdb" cmd.ActiveConnection = con End Function |
| Public Function ado_add(ByVal strdata As String) cmd.CommandText = "insert into comdata (timm,datt) values (" + (Format(Date, "YYYY-MM-DD ")) + Str((Time)) + "," + (strdata) + ")" cmd.Execute End Function |
| Public Function ado_UnInit() con.Close Set cmd = Nothing Set con = Nothing End Function |
| # import "prjado.dll" using namespace prjado; 这段代码应该放置在 file://{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately 之后和#endif 之前。 |
| HRESULT hresult; CLSID clsid; CoInitialize(NULL); file://初始化COM接口 hresult=CLSIDFromProgID(OLESTR("prjado.clsado"), &clsid); file://得到组件的CLSID _clsado *t; file://这就是我们在PRJADO.DLL中定义的类 hresult=CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,__uuidof(_clsado),(LPVOID *) &t); file://初始化CLSADO,CoCreateInstance()的第一个参数是对象的CLSID(类代码),这个128位的编码唯一地标识了组件服务,它的路径和运行参数等信息都放在系统注册表中;第二个参数一般情况下设为NULL;第三个参数用来指明对象的运行环境,如远程或本地,此处设为CLSCTX_INPROC_SERVER,标明是服务组件是一个DLL;第四个参数指明用来与对象通信接口的ID,这也是一个128位的编码;第五个参数是用来接收对象的接口指针。 if(FAILED(hresult)) { AfxMessageBox("初始化服务组件失败"); return; } file://如果初始化失败,弹出提示对话框后退出程序 t->ado_Init() ; file://调用初始化函数 t->ado_add("从VC调用组件") ; file://调用增加记录函数 t->ado_UnInit (); file://调用关闭连接函数 t->Release(); file://释放接口指针 CoUninitialize(); // 关闭COM库的联接 AfxMessageBox("调用服务组件完成"); |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10172717/viewspace-928876/ ,如需转载,请注明出处,否则将追究法律责任。