刚刚接触.net,连接sql2005可以用系统提供的数据库控件,再将gridview绑定数据库控件,请问连接oracle应该怎么办!~!
解决方案 »
- 处理ajax返回值
- "用户 'LYC-7F8FD013341\ASPNET' 登录失败。 "在线等!!!!
- 在datagrid中,如何跳转页(输入那一页,就转到那一页中去)
- 错误: System.Exception: Exception decrypting. Decryption failed. 该项不适于在指定状态下使用!!!!
- 急!!!!!请教各位大侠给个思路
- 求asp.net(c#)图片上传源码
- 向大家请教ajax乱码的问题 100
- 关于DataList的问题
- 帮忙看看这样的图表怎样实现比较好
- 怎样将后台带有\"和'的字符串变量有效地赋值到js的var变量?
- 模板不符合XML规范
- win7+dreamweare8+asp怎样配置IIS,怎样解决以下问题
<connectionStrings>
<add name="connString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.162)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=scott;Password=lester;" providerName="System.Data.OracleClient"/>
</connectionStrings>
接下来给你一个通用的类,连接Oracle的。。
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Configuration;
using System.Data.OracleClient;
namespace Com2000888.Utility
{
/// <summary>
/// Copyright (C) 2004-2008 LiTianPing
/// 数据访问基础类(基于OracleServer)
/// 用户可以修改满足自己项目的需要。
/// </summary>
///
public abstract class DbHelperOracle
{
//数据库连接字符串(web.config来配置)
//<add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=" />
public static string connectionString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
public DbHelperOracle()
{
} #region 执行简单Oracle语句 /// <summary>
/// 执行Oracle语句,返回影响的记录数
/// </summary>
/// <param name="OracleString">Oracle语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteOracle(string OracleString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(OracleString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OracleClient.OracleException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
} /// <summary>
/// 执行多条Oracle语句,实现数据库事务。
/// </summary>
/// <param name="OracleStringList">多条Oracle语句</param>
public static void ExecuteOracleTran(ArrayList OracleStringList)
{
using (OracleConnection conn = new OracleConnection(connectionString))
{
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
OracleTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < OracleStringList.Count; n++)
{
string strOracle = OracleStringList[n].ToString();
if (strOracle.Trim().Length > 1)
{
cmd.CommandText = strOracle;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.OracleClient.OracleException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
/// <summary>
/// 执行带一个存储过程参数的的Oracle语句。
/// </summary>
/// <param name="OracleString">Oracle语句</param>
/// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
/// <returns>影响的记录数</returns>
public static int ExecuteOracle(string OracleString, string content)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(OracleString, connection);
System.Data.OracleClient.OracleParameter myParameter = new System.Data.OracleClient.OracleParameter("@content", OracleType.NClob);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OracleClient.OracleException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
/// </summary>
/// <param name="strOracle">Oracle语句</param>
/// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
/// <returns>影响的记录数</returns>
public static int ExecuteOracleInsertImg(string strOracle, byte[] fs)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(strOracle, connection);
System.Data.OracleClient.OracleParameter myParameter = new System.Data.OracleClient.OracleParameter("@fs", OracleType.Blob);
myParameter.Value = fs;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OracleClient.OracleException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
} /// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="OracleString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string OracleString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(OracleString, connection))
{
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.OracleClient.OracleException e)
{
connection.Close();
throw new Exception(e.Message);
}
}
}
} /// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="OracleString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static int GetSingleInt(string OracleString)
{
object obj = GetSingle(OracleString);
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return 0;
}
else
{
return int.Parse(obj.ToString());
} }
/// <summary>
/// 执行查询语句,返回OracleDataReader
/// </summary>
/// <param name="strOracle">查询语句</param>
/// <returns>OracleDataReader</returns>
public static OracleDataReader ExecuteReader(string strOracle)
{
OracleConnection connection = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand(strOracle, connection);
try
{
connection.Open();
OracleDataReader myReader = cmd.ExecuteReader();
return myReader;
}
catch (System.Data.OracleClient.OracleException e)
{
throw new Exception(e.Message);
} }
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="OracleString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string OracleString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
OracleDataAdapter command = new OracleDataAdapter(OracleString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.OracleClient.OracleException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
} /// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="OracleString"></param>
/// <param name="TableName"></param>
/// <param name="ct"></param>
/// <returns></returns>
public static DataTable GetDataTable(string OracleString, string TableName, CommandType ct)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
DataTable dt = new DataTable();
dt.TableName = TableName;
try
{
connection.Open();
OracleDataAdapter command = new OracleDataAdapter(OracleString, connection);
command.SelectCommand.CommandType = ct;
command.Fill(dt);
}
catch (System.Data.OracleClient.OracleException ex)
{
throw new Exception(ex.Message);
}
return dt;
}
} /// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="OracleString"></param>
/// <param name="TableName"></param>
/// <param name="ct"></param>
/// <returns></returns>
public static DataTable GetDataTable(string OracleString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
DataTable dt = new DataTable();
try
{
connection.Open();
OracleDataAdapter command = new OracleDataAdapter(OracleString, connection);
command.Fill(dt);
}
catch (System.Data.OracleClient.OracleException ex)
{
throw new Exception(ex.Message);
}
return dt;
}
} /// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="OracleString"></param>
/// <param name="TableName"></param>
/// <param name="ct"></param>
/// <returns></returns>
//public static DataTable GetDataTable(string OracleString, ObjectContext ObjContext)
//{ // Jeez.Common.Base.EncryptTripleDes encry = new Jeez.Common.Base.EncryptTripleDes();
// DbHelperOracle.connectionString = (((string)encry.Decrypt(ObjContext.ConnectionString)).Split(Jeez.Common.Constants.JeezSplitChar1))[0];
// using (OracleConnection connection = new OracleConnection(connectionString))
// {
// DataTable dt = new DataTable();
// try
// {
// connection.Open();
// OracleDataAdapter command = new OracleDataAdapter(OracleString, connection);
// command.Fill(dt);
// }
// catch (System.Data.OracleClient.OracleException ex)
// {
// throw new Exception(ex.Message);
// }
// return dt;
// }
//} #endregion #region 执行带参数的Oracle语句 /// <summary>
/// 执行Oracle语句,返回影响的记录数
/// </summary>
/// <param name="OracleString">Oracle语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteOracle(string OracleString, CommandType ct, params OracleParameter[] cmdParms)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand())
{
cmd.CommandTimeout = 60;
try
{
PrepareCommand(cmd, connection, ct, null, OracleString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;
}
catch (System.Data.OracleClient.OracleException E)
{
throw new Exception(E.Message);
}
}
}
} /// <summary>
/// 完成where子语句功能,该子语句是1=1开头的东西。。
/// </summary>
/// <param name="OracleString">Oracle语句</param>
/// <param name="Condition">Oracle条件,如name='罗军',不需要and修饰</param>
/// <returns>返回不包括where的where子句</returns>
public static string EntireOracleWhere(string OracleString, string Condition)
{
if (Condition == "")
{
return OracleString;
} if (OracleString.Contains("1=1"))
{
return OracleString + " and " + Condition;
}
if (OracleString.Trim().StartsWith("and"))
{
return " 1=1 " + OracleString + " and " + Condition;
}
if (OracleString == "")
{
return " 1=1 and " + Condition;
}
else return "";
} /// <summary>
/// 执行多条Oracle语句,实现数据库事务。
/// </summary>
/// <param name="OracleStringList">Oracle语句的哈希表(key为Oracle语句,value是该语句的OracleParameter[])</param>
public static void ExecuteOracleTran(Hashtable OracleStringList)
{
using (OracleConnection conn = new OracleConnection(connectionString))
{
conn.Open();
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleCommand cmd = new OracleCommand();
try
{
//循环
foreach (DictionaryEntry myDE in OracleStringList)
{
string cmdText = myDE.Key.ToString();
OracleParameter[] cmdParms = (OracleParameter[])myDE.Value;
PrepareCommand(cmd, conn, CommandType.Text, trans, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear(); trans.Commit();
}
}
catch
{
trans.Rollback();
throw;
}
}
}
}
using(OracleConnection conn = new OracleConnection("data source=<服务名>;user id=<用户名>;password=<密码>"))
{
conn.Open();
}
看petshop有oracle操作