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

推荐订阅源

Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
C
Cybersecurity and Infrastructure Security Agency CISA
Cisco Talos Blog
Cisco Talos Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
Project Zero
Project Zero
E
Exploit-DB.com RSS Feed
S
Secure Thoughts
K
Kaspersky official blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
WordPress大学
WordPress大学
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
Hacker News: Ask HN
Hacker News: Ask HN
AWS News Blog
AWS News Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hacker News: Front Page
F
Full Disclosure
Latest news
Latest news
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
T
Troy Hunt's Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
G
GRAHAM CLULEY
Forbes - Security
Forbes - Security
V
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Vulnerabilities – Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
P
Privacy International News Feed
C
Check Point Blog
N
News and Events Feed by Topic

博客园 - 博闻李

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();
        }
    }