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));
C#中oracle数据库的连接方法的更多相关文章
- Oracle数据库字符串连接方法
转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLSe ...
- PL/SQL Developer 连接Oracle数据库详细配置方法
PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...
- 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle
启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l Sql*plus l OEM控制台 l Wind ...
- Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决
Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...
- ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)
ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a) 代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a C++ Co ...
- 重装系统后ORACLE数据库恢复的方法
如果我们的操作系统出现问题,重装系统后,ORACLE数据库应该如何恢复呢?下文就为您列举了两个重装系统后ORACLE数据库恢复的方法,供您参考. ORACLE数据库恢复的方法我们经常会用到,下面就为您 ...
- Oracle数据库的备份方法
1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...
- 总结 vb与数据库的连接方法
总结 vb与数据库的连接方法 分类:vb数据库 (4672) (38) 举报 收藏 总结:vb与数据库连接方式,两种分法. 根据是否使用ODBC(驱动程序)来分: 1.有源连接 2.无源连接. ...
- Qt 中 Oracle 数据库 QOCI 驱动问题及解决
Qt 中 Oracle 数据库 QOCI 驱动问题及解决是本文要讲述的问题,用Qt开发Oracle程序时,常会遇到QOCI驱动问题,主要表现为程序运行时出现下面的错误. QOCI driver not ...
随机推荐
- Junit测试Spring应用Dubbo测试框架之-Excel 工具类
package com.tree.autotest.demo; import com.alibaba.fastjson.JSON;import org.apache.poi.hssf.usermode ...
- eclipse缺省的Server没有weblogic
转自:http://www.javakfz.com/index.php/08/06/471.html eclipse缺省的Server没有weblogic,因此要下载个weblogic的插件.这个过程 ...
- 使用two.js生成的卫星环绕动画效果
来源:GBin1.com two.js是一个帮助你实现绘图和动画效果的类库,同时支持三种前端绘图实现: webgl svg 2d画布 使用这个类库,可以方便的支持这三种不同的实现,你只需要设置参数:T ...
- 如何在Jconsole 监控 Jboss Tomcat
Java在jdk5开始就自带有Jconsole了,要想用Jconsol监控且需要添加启动参数: Linux系统:JAVA_OPTS="$JAVA_OPTS -Dcom.sun.man ...
- JMeter3.0配置
解压apache-jmeter-3.0.zip文件至c盘,本文解压至C:\jmeter3目录下. 桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中 ...
- CSS之word-break : break-all
CSS之word-break : break-all 强制英文单词断行 div{ word-break:break-all; } 强制不换行 div{ white-space:nowr ...
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答
今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...
- 【Linux命令】ls命令
ls命令是Linux最常用的命令,ls命令就是list的缩写,主要作用是:打印出当前目录的清单.如果ls指定其他目录,那么就会显示指定目录下的清单. 1.命令格式 ls [选项] [目录名] 2.命令 ...
- (四)Oracle学习笔记—— 常见函数
1. 字符串类型及函数 字符类型分 种,char(n) .varchar(n).varchar2(n) : char(n)固定长度字符串,假如长度不足 n,右边空格补齐: varchar(n)可变长度 ...
- openfireserver和jdk环境删除命令
一.卸载jdk1.8 终端依次运行以下的命令 sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf / ...