C#中oracle数据库的连接方法
一、关于数据库的操作
1.数据库连接
有2种:
第一种:古老的方法(较为死板,不利于灵活操作),即用OracleConnection的类来连接
string mysqlstr ="user id = xal;data source = xal;password = xal";
OracleConnection mycnn = new OracleConnection(mysqlstr);
mycnn.open();
第二种:新式的方法(使用较为灵活),即利用OracleConnectoinStringBuilder类来连接
OracleConnectionStringBuilder OcnnStrB = new OracleConnectionStringBuilder;
OCnnStrB.DataSource = "xal";
OCnnStrB.UserID = "xal";
OCnnStrB.Password = "xal";
myCnn = new OracleConnection(OCnnStrB.ConnectionString);
myCnn.open();
2.事务操作
myConn.open();
OracleCommand insertComm = new OracleCommand();
insertComm.Connection = myCnn;
insertComm.Transaction = myCnn.BeginTransaction();
try
{
事务操作语句;
insertComm.Transaction.Commit();
}
catch(exption ex)
{
insertComm.Transaction.Rollback();
MessageBox(ex.Message);
}
finally
{
myConn.close();
}
3.创建命令参数
private OracleParameter CreateOraParam(string ParamName, object ParamValue)
{
OracleParameter Result = new OracleParameter();
Result.ParameterName = ParamName;
if (ParamValue != null)
{
Result.Value = ParamValue;
}
else
{
Result.Value = DBNull.Value;
}
return Result;
}
这样的话,当要对数据库操作时就可以:
insertComm.CommandText = "insert into TESTADODOTNET (ID, NAME, AGE, PIC) values (:pID, :pName, :pAge, :pPic)";
insertComm.Parameters.Add(CreateOraParam("pID", (txtID.Text.Trim() != "") ? txtID.Text.Trim() : null));
insertComm.Parameters.Add(CreateOraParam("pName", (txtName.Text.Trim() != "") ? txtName.Text.Trim() : null));
insertComm.Parameters.Add(CreateOraParam("pAge", (txtAge.Text.Trim() != "") ? txtAge.Text.Trim() : null));
4.数据集的浏览(例:将结果显示在comboBox1中)
OracleDataAdapter oda = new OracleDataAdapter(selectCommand);
DataTable newtable = new DataTable();
oda.Fill(newtable);
foreach (DataRow dr in newtable.Rows) //共有newtable.rows.count条记录
{
comboBox1.Items.Add(dr[0].ToString());
}
5.设置输入只能是数字(例:现在往textBox1中输入。如只能输入字母的方法类似)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)//属性中的事件
{
e.Handled = !((Char.IsNumber(e.KeyChar)) || ((Keys)e.KeyChar == Keys.Back));
}
6.Form窗口关闭时引发的事件:弹出一个确定退出的对话框
private void form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否退出系统?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
7.OracleParameter的用法
第一步:先创建命令参数
private OracleParameter CreateOraParam(string ParamName, object ParamValue)
{
OracleParameter Result = new OracleParameter();
Result.ParameterName = ParamName;
if (ParamValue != null)
{
Result.Value = ParamValue;
}
else
{
Result.Value = DBNull.Value;
}
return Result;
}
第二步:写SQL语句,并调用第一步的参数(例如::pID是个参数,代表调用insertComm.Parameters.Add中的pID的值)
insertComm.CommandText = "insert into TESTADODOTNET (ID, NAME, AGE, PIC) values (:pID, :pName, :pAge, :pPic)";
insertComm.Parameters.Add(CreateOraParam("pID", (txtID.Text.Trim() != "") ? txtID.Text.Trim() : null));
insertComm.Parameters.Add(CreateOraParam("pName", (txtName.Text.Trim() != "") ? txtName.Text.Trim() : null));
insertComm.Parameters.Add(CreateOraParam("pAge", (txtAge.Text.Trim() != "") ? txtAge.Text.Trim() : null));
第三步:添加pictureBox1图片的二进制流字段pAge
//创建字节数组用于给IMAGE字段赋值,fileLength是指所选的文件的大小
byte[] tmpImage = new byte[fileLength];
//根据字节数组创建内存流,之后对该流的操作将会影响字节数组的内容
MemoryStream curStream = new MemoryStream(tmpImage);
//把控件内显示的图形写入到流中,需强制指定格式
pictureBox1.Image.Save(curStream, curImageFormat);//curImageFormat前面指定的图片格式
insertComm.Parameters.Add(CreateOraParam("pPic", tmpImage));
转载于:https://www.cnblogs.com/salonliudong/archive/2006/12/04/582107.html
C#中oracle数据库的连接方法相关推荐
- c# oracle 数据库连接,C#中oracle数据库的连接方法
一.关于数据库的操作 1.数据库连接 有2种: 第一种:古老的方法(较为死板,不利于灵活操作),即用OracleConnection的类来连接 string mysqlstr ="user ...
- ts连接mysql数据库_各种数据库的连接方法
一.JDBC连接各种数据库 1.Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver"). ...
- 删除oracle数据库的三种方法,oracle数据库的删除方法详解
oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...
- arcgis读取oracle数据库,arcgis连接Oracle数据库
arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64 arcgis版本位10.2 安装是在同一台电脑上. 一.首先是安装O ...
- ftp无法与服务器建立连接_建立与Oracle数据库服务器连接的两种连接模式
建立与Oracle数据库服务器连接的两种连接模式(专用服务器与共享服务器) 在建立Oracle数据库的时候,应该会在数据库建立助手向导上面看到这么一个选项,就是数据库的连接模式采用什么方式.在Orac ...
- matlab连接mysql教程视频_Matlab建立到Oracle数据库的连接
Linux下的配置过程和Windows一样,如下:1.将Oracle JDBC的JAR包拷贝到Matlab的相关目录(..\matlab\java\jar\toolbox\)下. 一.Matlab通过 ...
- Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用
Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用 1,首先切换到Oracle用户,并进入数据库#sql / as sysdba2,启动数据库,并连接样例及表格,启动命令#s ...
- oracle数据库导出数据6,Oracle数据库导入导出方法汇总
Oracle数据库导入导出方法: 1.使用命令行: 数据导出: 1.将数据库TEST完全导出,用户名system密码manager导出到D:\daochu.dmp中 exp system/manage ...
- ORACLE数据库常见问题诊断方法 ---(常见错误篇)
ORACLE数据库常见问题诊断方法 ---(常见错误篇) 1 ORA-12571.ORA-03113.ORA-03114.ORA-01041 特征:客户端(代理或应用服务器)有时报这类断连 ...
最新文章
- 【数据结构】图的深度优先遍历 广度优先遍历
- spoj Find Log
- 必须去收藏14个响应式布局的前端开发框架
- 京东商城pop开放平台产品经理
- Spark Standalone模式应用程序开发
- 这些Python代码技巧,你肯定还不知道
- 北京环球影城上线王者荣耀英雄主题活动
- python相对路径import 方法_Python 从相对路径下import的方法
- 第11章 享元模式(Flyweight Pattern)
- oracle零碎要点---oracle em的web访问地址忘了
- 数论 + 公式 - HDU 4335 What is N?
- [洛谷P3807]【模板】卢卡斯定理
- DB2数据库关于delete in id和batch delete的性能对比
- 监督分类空白处也被分类了_如何兼容自训练与预训练:更高效的半监督文本分类模型...
- 少谈设计模式,多谈基本功
- 20个最强的基于浏览器的在线代码编辑器
- matlab2014a VS2010混合编程
- 国家统计局统计用区划代码和城乡划分代码---爬虫、详细分析
- DiffPDF(pdf文件比较工具)官方正式版V6.0.0 | diffpdf如何使用 | 含diffpdf的软件安装教程
- SAP报表导出格式设置
热门文章
- 云南计算机一级没有开考吗,2020年3月云南计算机一级考试时间
- unity循环滚动列表_【unity游戏开发】LoopScrollRect组件
- boost::function和boost:bind取代虚函数
- java二进制反转_Java实现 LeetCode 190 颠倒二进制位
- 同一条sql insert 有时快有时慢 引发的血案
- 不满俄欧“北溪-2”项目 美驻德大使威胁制裁德国企业
- 微软更懂“怎样尊重程序员”,正在改进程序员招聘流程
- commons-csv 使用记叙
- Aptana Studio 3 汉化简体中文版
- 如何使用Photoshop制作真实的尺子