盼望得到一些asp.net连接oracle数据库的有用代码

lijianlee 2006-05-16 03:32:29
本人手中有一套c#.net+sql2000的框架,由于工作需要改成oracle数据库,一时不知道如何下手希望得到有价值的建议和代码,谢谢大家.
...全文
428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijianlee 2006-05-17
  • 打赏
  • 举报
回复
我还需要注意些什么?
jimu8130 2006-05-16
  • 打赏
  • 举报
回复
webconfig文件中加入
<configuration>
<appSettings>
<add key="ConnectionString" value="user id=uid;data source=dbname;password=password" />----这个
</appSettings>
<system.web>



jimu8130 2006-05-16
  • 打赏
  • 举报
回复
public static DataSet SqlExecuteDataSet(string sSql,string TableName)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleDataAdapter oraAdp = new OracleDataAdapter(sSql,oracon);
DataSet ds = new DataSet();
oracon.Open();
oraAdp.Fill(ds,TableName);

return ds;
}
catch(Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
oracon.Close();
return new DataSet();
}
}
}

public static DataSet SqlExecuteDataSet(string cmdText)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleDataAdapter oraAdp = new OracleDataAdapter(cmdText,oracon);
DataSet ds = new DataSet();
oracon.Open();
oraAdp.Fill(ds);
return ds;
}
catch(Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
oracon.Close();
return new DataSet();
}
}
}
public static DataView SqlExecuteDataView(string cmdText)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleDataAdapter oraAdp = new OracleDataAdapter(cmdText,oracon);
DataSet ds = new DataSet();
oracon.Open();
oraAdp.Fill(ds);
return ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
oracon.Close();
return new DataView();
}
}
}

public static OracleDataReader SqlDataReader (string sSql)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
OracleConnection oracon=new OracleConnection(connectionString);
try
{
oracon.Open();

OracleCommand cmd = new OracleCommand(sSql,oracon);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
oracon.Close();
return null;
}

}

public static object SqlExecuteScalar(string sSql)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleCommand cmd = new OracleCommand(sSql,oracon);
oracon.Open();

//执行OracleCommand的ExecuteScalar,得到结果集中第一行的第一列
object retval = cmd.ExecuteScalar();

return retval;
}
catch (Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
oracon.Close();
return null;
}
}
}

public static int SqlExecuteNonQuery(string sSql)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleCommand cmd = new OracleCommand(sSql,oracon);
oracon.Open();

int retval = cmd.ExecuteNonQuery();

return retval;
}
catch (Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");

oracon.Close();
return -1;
}
}
}

public static int SqlExecuteNonQuery(OracleTransaction myTrans,string sSql)
{
try
{
OracleConnection oracon = myTrans.Connection;
OracleCommand cmd = new OracleCommand(sSql,oracon);
cmd.Transaction = myTrans;

int retval = cmd.ExecuteNonQuery();

return retval;
}
catch (Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
return -1;
}
}
jimu8130 2006-05-16
  • 打赏
  • 举报
回复
public static OracleParameter[] SpExecute(OracleTransaction myTrans,string spName,params object[] parameterValues)
{

try
{
OracleConnection oracon;
oracon =myTrans.Connection;
OracleCommand ocmd=new OracleCommand(spName,oracon);
//oracon.Open();
ocmd.Transaction = myTrans;
ocmd.CommandType = CommandType.StoredProcedure;
OracleCommandBuilder.DeriveParameters(ocmd);

int InputParamCount=0;

for(int i=0;i<ocmd.Parameters.Count;i++)
{
if ((ocmd.Parameters[i].Direction == ParameterDirection.Input) ||
(ocmd.Parameters[i].Direction == ParameterDirection.InputOutput))
{
InputParamCount++;
}
}

if (InputParamCount != parameterValues.Length)
{
throw new ArgumentException("Parameter count does not match Parameter Value count.");
}

int k=0;
for (int i = 0, j = ocmd.Parameters.Count; i < j; i++)
{
if ((ocmd.Parameters[i].Direction == ParameterDirection.Input) ||
(ocmd.Parameters[i].Direction == ParameterDirection.InputOutput))
{
ocmd.Parameters[i].Value = parameterValues[k];
k++;
}
}

int retval = ocmd.ExecuteNonQuery();

OracleParameter[] RetParameter = new OracleParameter[ocmd.Parameters.Count];
ocmd.Parameters.CopyTo (RetParameter,0);

ocmd.Parameters.Clear();
return RetParameter;
}
catch(Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
return null;

}

}
public static OracleParameter[] SpExecute(string spName,params object[] parameterValues)
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
using(OracleConnection oracon=new OracleConnection(connectionString))
{
try
{
OracleCommand ocmd=new OracleCommand(spName,oracon);
oracon.Open();
ocmd.CommandType = CommandType.StoredProcedure;
OracleCommandBuilder.DeriveParameters(ocmd);

int InputParamCount=0;

for(int i=0;i<ocmd.Parameters.Count;i++)
{
if ((ocmd.Parameters[i].Direction == ParameterDirection.Input) ||
(ocmd.Parameters[i].Direction == ParameterDirection.InputOutput))
{
InputParamCount++;
}
}

if (InputParamCount != parameterValues.Length)
{
throw new ArgumentException("Parameter count does not match Parameter Value count.");
}

int k=0;
for (int i = 0, j = ocmd.Parameters.Count; i < j; i++)
{
if ((ocmd.Parameters[i].Direction == ParameterDirection.Input) ||
(ocmd.Parameters[i].Direction == ParameterDirection.InputOutput))
{
ocmd.Parameters[i].Value = parameterValues[k];
k++;
}
}

int retval = ocmd.ExecuteNonQuery();

OracleParameter[] RetParameter = new OracleParameter[ocmd.Parameters.Count];
ocmd.Parameters.CopyTo (RetParameter,0);

ocmd.Parameters.Clear();
return RetParameter;
}
catch(Exception ex)
{
ErrMsg = ex.Message.Replace("\n","");
return null;

}
}
}
lijianlee 2006-05-16
  • 打赏
  • 举报
回复
大哥,详细点,先说说需要注意和要改哪些方面,然后把配置文件的写法具体写给俺看看bei.
llainn 2006-05-16
  • 打赏
  • 举报
回复
我一直用这个

Data Source=Oracle8i;Integrated Security=yes
lijianlee 2006-05-16
  • 打赏
  • 举报
回复
求助!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧