惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
L
LangChain Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
B
Blog

博客园 - 博闻李

ASP.NET AJAX中PageMethods方法调用示例 - 博闻李 - 博客园 SQL Server数据库所有表索引性能分析 SQL Server数据库所有表重建索引 查询数据库字段所在的位置 查询时锁的使用[转] DBCC DBREINDEX重建索引提高SQL Server性能[引] Javascript键盘输入相关 - 博闻李 - 博客园 VS2008 Web Application和Web Site的区别[转] IIS Temporary ASP.NET Files拒绝访问解决方案 WebDAV是什么?[引] VSTS 2008的TFS安装实战[转] Oracle PL/SQL常用函数列表[转载] Oracle初学笔记 SQL Server 索引结构及其使用(一)[转] SQL数据库设计经验[转] 一套外企的数据库设计面试题[转] UML在关系型数据库设计中的应用[转] 数据库设计范式深入浅出[转] showModalDialog和showModelessDialog使用[转]
ASP.NET C# 访问Oracle数据库示例
博闻李 · 2009-03-09 · via 博客园 - 博闻李

 初级入门的小例子。

首先确保引用了命名空间: 

using System.Data;
using System.Data.OracleClient;

定义连接字符串如下:

    private const string ConnectionString = "Data Source=mydatabase;user=name;password=pwd;";

 1.使用OracleCommand执行无参数简单查询,直接写SQL语句或调用存储过程,使用OracleDataReader遍历显示数据,如下:

    protected void GetData1()
    {           
        OracleConnection conn 
= new OracleConnection(ConnectionString);try
        {
            conn.Open();
            OracleCommand cmd 
= new OracleCommand();

            cmd.Connection 

= conn;
            
//cmd.CommandText = "select * from TB";
            cmd.CommandText = "bowenpkg.getdata";
            cmd.CommandType 
= CommandType.StoredProcedure;

            OracleParameter parameters 

= new OracleParameter("refOut", OracleType.Cursor);
            parameters.Direction 
= ParameterDirection.Output;

            cmd.Parameters.Add(parameters);

            OracleDataReader odr 

= cmd.ExecuteReader();
            
while (odr.Read())
            {
                Response.Write(odr.GetOracleString(
1).ToString() + "<br>");
            }

            odr.Close();
        }

catch (Exception ee)
        {
            Response.Write(ee.Message);
        }
        
finally
        {
            conn.Close();
        }
    }

 2.使用OracleDataAdapter执行SQL语句,填充DataSet,遍历显示数据,如下:

    protected void GetData2()
    {
        OracleConnection conn 
= new OracleConnection(ConnectionString);
        OracleDataAdapter ad 
= new OracleDataAdapter("select * from TB", conn);try
        {
            DataSet ds 
= new DataSet();
            ad.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
            {
                Response.Write(dr[
"code"].ToString() + "<br>");
            }
        }
        
catch (Exception ee)
        {
            Response.Write(ee.Message);
        }
        
finally
        {
            conn.Close();
        }
    }

 3.带参数的存储过程,如下:

    protected void ViewButton_Click(object sender, EventArgs e)
    {
        OracleConnection conn 
= new OracleConnection(ConnectionString);try
        {
            conn.Open();
            OracleCommand cmd 
= new OracleCommand();

            cmd.Connection 

= conn;
            cmd.CommandText 
= "bowenpkg.getdatabyid";
            cmd.CommandType 
= CommandType.StoredProcedure;

            OracleParameter[] parameters 

= {new OracleParameter("rid",OracleType.Number),new OracleParameter("refOut", OracleType.Cursor)};
            parameters[
0].Direction = ParameterDirection.Input;
            parameters[
0].Value = DropDownList1.SelectedValue;
            parameters[
1].Direction = ParameterDirection.Output;

            cmd.Parameters.Add(parameters[

0]);
            cmd.Parameters.Add(parameters[
1]);

            OracleDataAdapter da 

= new OracleDataAdapter(cmd);

            DataTable dt

=new DataTable();

            da.Fill(dt);

            Label1.Text 

= dt.Rows[0][1].ToString();
        }
        
catch (Exception ee)
        {
            Response.Write(ee.Message);
        }
        
finally
        {
            conn.Close();
        }
    }