您的位置:首页 > 数据库 > Oracle

C#,关于和oracle连接的操作

2013-09-16 15:56 483 查看
//Congraduation content:

<?xml version="1.0"?>

<configuration>

<appSettings>

<add key="conectstring" value="Data Source=数据库名;User ID=用户名;Password=密码;Unicode=True"/>

</appSettings>

</configuration>

//Get connecting string from app.config

public static readonly string ConnectString =

System.Configuration.ConfigurationManager.AppSettings["conectstring"];

//Connontion

static ConnectDb()

{

ConnOracle = new OracleConnection(ConnectString);

try

{

ConnOracle.Open();

}

catch { }

}

//prepare a Command

/// <summary>

/// Internal function to prepare a command for execution by the database

/// </summary>

/// <param name="cmd">Existing command object</param>

/// <param name="conn">Database connection object </param>

/// <param name="cmdType">Command Type</param>

/// <param name="CmdText">Actual sql</param>

/// <param name="commandParameters">Parameters to bind to a command</param>

public static void PrepareCommand(OracleCommand cmd,OracleConnection conn, CommandType cmdType, string CmdText,

OracleTransaction tra =null,params OracleParameter[] commandParameters)

{

cmd.Connection = conn;

cmd.CommandType = cmdType;

cmd.CommandText = CmdText;

if(tra != null)

cmd.Transaction = tra;

if (commandParameters != null)

{

foreach (OracleParameter parm in commandParameters)

{

cmd.Parameters.Add(parm);

}

}

}

//Excute a Query which do not include a select

/// <summary>

/// Excute a database Query which does't include a select

/// </summary>

/// <param name="ConnctStr">Connecttion string to database</param>

/// <param name="cmdType">Command Type</param>

/// <param name="CmdText">actual sql</param>

/// <param name="commandParameters">Parameters to bind to Command</param>

/// <returns></returns>

public static int ExuteNonquery( CommandType cmdType, string CmdText,OracleTransaction tran,

params OracleParameter[] commandParameters)

{

//

OracleCommand cmd = new OracleCommand();

OracleConnection conn = ConnOracle;

try

{

if (conn.State != ConnectionState.Open)

{

conn.Open();

}

PrepareCommand(cmd, conn, cmdType, CmdText, tran, commandParameters);

int val = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

tran.Commit();

return val;

}

catch

{

tran.Rollback();

conn.Close();

throw;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: