oci连接mysql_OCILIB 连接Oracle数据库——插入数据

二、进阶教程

参看官方文档实例,有详细的说明,包括:查询获取数据、绑定向量、数据库连接池、12c隐式结果集、使用Oracle对象和数据库通知等例子。这里只做一个最简单的插入数据演示。

1、简单的封装

void COciUtil::Init()

{

CString strAppPath = CMyFileUtil::GetAppPathW();//获得程序运行目录

ostring ociDllPath = CW2A(strAppPath);

try

{

Environment::Initialize(Environment::Default,ociDllPath);

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

}

}

void COciUtil::Clean()

{

try

{

conn.Close();

Environment::Cleanup();

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

}

}

BOOL COciUtil::Connect(CString ip,int port,CString serviceName,CString username,CString password)

{

try

{

CString strDB;

strDB.Format(L"%s:%d/%s",ip,port,serviceName);

char* db = CW2A(strDB);

char* user = CW2A(username);

char* pw = CW2A(password);

conn.Open(db,user,pw);

if (conn.IsNull())

return FALSE;

else

return TRUE;

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

return FALSE;

}

}

2、插入数据库

这里向数据库中插入数字、文本、时间、二进制。

BOOL COciDao::InsertTest()

{

try

{

COciUtil oci;

ocilib::Statement st(oci.conn);

st.Prepare("insert into TEST(ID,TEXT,TIME,BIN) values ( :id , :text , :date , :blob )");

int id = 123;

char* binaryText = "eee向天歌浮绿水";

ocilib::Blob blob(oci.conn);

vector list;

list.resize(strlen(binaryText));

for (int i=0;i

{

list.push_back(binaryText[i]);

}

blob.Write(list);

ostring ostr = "texttexttext";

COleDateTime time = COleDateTime::GetCurrentTime();

ocilib::Date date = COleDateTime2Date(time);

st.Bind(":id",id,BindInfo::InOut);

st.Bind(":text",ostr,50,BindInfo::InOut);

st.Bind(":date",date,BindInfo::InOut);

st.Bind(":blob",blob,BindInfo::InOut);

st.ExecutePrepared();

oci.conn.Commit();

oci.Clean();

}

catch (std::exception &e)

{

//cout<

CString text(e.what());

AfxMessageBox(text);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工合成生命的最新进展比AI还快

合成酵母的科学杂志当期封面来源&#xff1a;通信和互联网的扫地僧2016年以来&#xff0c;以AlphaGo为标志的人工智能技术进入了发展的快车道&#xff0c;成为了民众热议的话题。2017年12月27日&#xff0c;华大基因董事长汪建在深商大会上表示&#xff0c;未来的5-10年&#x…

加利福尼亚大学提出从「因果革命」的七大成就中为「机器学习」寻求良好的模型指导

原文来源&#xff1a;arxiv作者&#xff1a;Judea Pearl「雷克世界」编译&#xff1a;嗯~是阿童木呀可以这样说&#xff0c;目前的机器学习系统几乎完全是以统计模式或无模型模式运行的&#xff0c;这对于其功率和性能来说存在着严格的理论限制。这样的系统不能引发干预和反思&…

被讨厌的勇气--总结

思维导图&#xff1a;https://www.processon.com/view/link/60d6fc2c7d9c087f54753b90

创建一个动物类 java_使用java面向对象创建动物类并输出动物信息

题目&#xff1a;使用java面向对象创建动物类并输出动物信息gitup下载地址&#xff1a;https://github.com/benxiaohai8888/Javase/blob/master/Animal.java代码&#xff1a;import java.util.Scanner;public class Animal{private double weight;//体重private int leg;//腿的…

java执行字节码的语句_Java字节码指令

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(操作码&#xff0c;Opcode)以及跟随其后的零至多个代表此操作所需的参数(操作数&#xff0c;Operands)构成。即&#xff1a;Java指令 操作码 操作数。由于Java虚拟机采用面向操作数栈而不是寄存器的架构&…

3分钟了解今日头条推荐算法原理(附视频+PPT)

来源&#xff1a;大数据文摘概要&#xff1a;2018年1月&#xff0c;今日头条资深算法架构师曹欢欢博士&#xff0c;终于首次公开今日头条的算法原理&#xff0c;以期推动整个行业问诊算法、建言算法&#xff0c;希望消除各界对算法的误解。今日头条的内容分发算法一直颇神秘低调…

高效休息法--总结

思维导图&#xff1a;https://www.processon.com/view/link/60d6fcaf1e08532a43bea653

java 停止kettle转换_通过java运行Kettle转换

我创建了一个Java应用程序(试点)来运行水壶转换。这很简单&#xff0c;我只有主要的方法&#xff0c;得到一个.ktr文件并执行它。public static void main( String[] args ){try {KettleEnvironment.init();TransMeta transMeta new TransMeta("C:\\user\\car.ktr")…

执行-技术人的管理之路--总结

思维导图&#xff1a;https://www.processon.com/view/link/5f0a6983e401fd0c8fffa75b

java进度条动画_Android自定义控件之圆形进度条动画

本文实例为大家分享了Android实现圆形进度条动画的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下首先贴上图片&#xff1a;额&#xff0c;感觉还行吧&#xff0c;就是进度条的颜色丑了点&#xff0c;不过咱是程序员&#xff0c;不是美工&#xff0c;配色这种问题当然…

人脸识别必读的N篇文章

来源&#xff1a;机器视觉概要&#xff1a;人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小&#xff1b;对于跟踪而言&#xff0c;还需要确定帧间不同人脸间的对应关系。一 、人脸检测/跟踪人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小&a…

所谓高情商就是会说话--总结

思维导图&#xff1a;https://www.processon.com/view/link/60d6fe741e08532a43bea811

美国12大科技公司如何参与自动驾驶?

来源&#xff1a;腾讯科技概要&#xff1a;无人驾驶汽车的潜力已经逐步显现&#xff0c;这一点&#xff0c;从本周在拉斯维加斯举行的国际消费电子展&#xff08;CES&#xff09;就可以看出端倪。无人驾驶汽车的潜力已经逐步显现&#xff0c;这一点&#xff0c;从本周在拉斯维加…

java web响应式框架_Web开发的十佳HTML5响应式框架

HTML5框架是一类有助于快速轻松创建响应式网站的程序包。这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能。关于HTML5的框架种类繁多&#xff0c;并且很瘦欢迎&#xff0c;因为它能允许开发人员花费更少的时间和精力去创建一个令人惊艳的网站。在本文中&#xff0c;我…

开放-封闭原则(OCP)

开放-封闭原则&#xff08;The Open-Close Principle&#xff09; 软件实体&#xff08;类、模块、函数等&#xff09;应该是可以扩展的&#xff0c;但是不可以修改的。 两个特征 1、对于扩展是开放的&#xff08;Open for extension&#xff09;&#xff1b; 2、对于更改是…

风向2018 | AI 突围

来源&#xff1a;36氪概要&#xff1a;回到战场&#xff0c;考验各家公司CEO和谋士的时刻&#xff0c;已经到来。问&#xff1a;2017年AI行业最大的进展是什么&#xff1f;答&#xff1a;创业公司的估值。高估值&#xff0c;曾将AI初创公司带上高光的创投舞台&#xff0c;也正将…

php return 值_php return的用法是什么

php return的用法&#xff1a;1、通过“return expression”语法返回一个表达式结果&#xff1b;2、使用“return(expr)”语法返回函数表达式&#xff1b;3、直接使用return返回值即可。本文操作环境&#xff1a;Windows7系统、PHP7.1、Dell G3电脑。基本用法&#xff1a;a)、r…

Liskov替换原则(LSP)

Liskov替换原则&#xff08;The Liskov Substitution Principle&#xff09; 子类型&#xff08;subtype&#xff09;必须能够替换掉它们的基类型&#xff08;base type&#xff09;。 一个违反LSP的简单例子 public class AntiLspDemo {public void drawShape(final Shape …

谷歌放出AI平民化大招: 李飞飞宣布推出AutoML云平台,让普通企业也能用上深度学习

作者&#xff1a;杨晓凡概要&#xff1a;谷歌云机器学习平台&#xff08;Google Cloud AI&#xff09;自从上线以来就以预训练的、可以直接调用的高效机器学习模型吸引了许多企业级用户在其上构建简单的机器学习应用。谷歌云机器学习平台&#xff08;Google Cloud AI&#xff0…

php 强制返回,php – 我可以强制抽象类的方法返回一些东西吗?

在PHP中,你不能“强制”一个方法来返回任何东西 – 即使使用抽象类/方法,也不可能使用接口.您可以做的最好的事情是表明实现应该返回一些内容,使用注释 – 但您不能强迫人们这样做&#xff1a;/*** param string $a blah blah* return int The return value blah blah*/public …