rar内附有详细的步骤说明

源代码在线查看: vc访问oracle数据库步骤与说明 .txt

软件大小: 271 K
上传用户: zergwyk
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				1、VC访问Oracle 数据库需要以下的环境支持
				   VC6.0   Oracle客户端  ODBC(可选)
				   OBOUND.H
				   ORACL.H
				   ORACLM32.LIB
				   oraclm32.dll
				  在项目设置Link页面中加入静态库"ORACLM32.LIB"
				
				2、调用步骤
				   (1)、新建项目
				   (2)、包含头文件:   "OBOUND.H", "ORACL.H"
				   (3)、在调用Oracle数据库连接之前调用Oracle数据库驱动程序初始化函数	OStartup();
				        使用完成后 调用OShutdown();	
				
					例子:
				
					BOOL COracleTestApp::InitInstance()
					{
						AfxEnableControlContainer();
						OStartup();
					}
					int COracleTestApp::ExitInstance() 
					{
						OShutdown();	
						return CWinApp::ExitInstance();
					}
				
				  (4)连接数据库使用ODatabase 的 Open函数
					参数介绍如下:  ODatabase::Open(sid,//Oracle数据库的SID  通常是:全局数据库名_IP地址 ,如:ciwei_192.168.0.12
				                                        username,//用户名:system
									manager);//登录密码:manager 
				
				    		orocldb.Open(m_DatabaseName, m_LogonName,m_LogonPassWord);
						if(!orocldb.IsOpen())
						{
							const char *m_errortext=orocldb.GetErrorText();
							MessageBox(m_errortext,"错误",MB_OK|MB_ICONERROR);		
							return ;
						}else
							MessageBox("连接oracle成功!");
				   (5)、执行SQL语句  
						orocldb.SetAutoCommit(true); //设置为自动更新
						orocldb.ExecuteSQL("insert into sly.testoracle values('4455','343434')");
				
				
				
				   (6)、打开记录集
						ODynDataSet dyn;
						dyn.Open(orocldb, "select * from sly.testoracle");
						if (!dyn.IsOpen())
							return; // can’t open dynaset
						CString salary, raise;
						while (!dyn.IsEOF())
						{
							const char* ov;
							OValue re;
							const char*en="id";
							dyn.GetFieldValue(en, &re); // 得到字段值
							ov =  (const char*)re ; 
							CString  str=ov;
							AfxMessageBox(str+"Before Update\r\n");
							if (dyn.AddNewRecord() != OSUCCESS)  //添加新记录
							{
								AfxMessageBox(str+"Before Update\r\n");
								return ;
							}
							dyn.MoveNext(); //移到下一条记录
							en="23";
							dyn.SetFieldValue("id", en);
							dyn.SetFieldValue("Name",en);
							dyn.Update();
							dyn.MoveNext(); // go to the next record
						}
					}catch(OException *e)
					{
				
				
				     
				
							

相关资源