Asp.net_基于VS2008+Oracle+PL/SQL开发环境的项目开发

来源:岁月联盟 编辑:exp 时间:2012-03-30

开发基于Oracle数据库的Asp.net的WEB应用程序

一、基本环境安装

Win7安装配置

1.先安装office2007(在vs之后安装会有兼容性问题)

2.安装vs2008(需先植入序列号,Win7安装完无法更改序列号)

3.安装Oracle 10g数据库(安装目录不要有空格,最好直接安装到根目录)

4.安装PL/SQL(安装目录也不要有空格)

二、开发初步


1.oracle的tns配置文件在oracle/product/10.2.0/db_1/NETWORK/ADMIN

2.PLSQL Developer使用,先登陆sys账户,连接为sysdba,登陆后新建用户,在“一般”选项卡中填入名称,在“角色权限”选项卡中选择dba,其他不用动,应用创建用户。

用新创建的用户登陆,连接为Normal,登陆成功后左侧下拉框默认all Objects,改成my Objects。

3.打开VS2008,新建项目——新建空白解决方案——右击建好的解决方案——新建网站——选择解决方案目录——语言选C#——在原有位置新建网站。

4.webconfig配置

添加连接字符串

[html] <connectionStrings> 
    <add name="constr" connectionString="Data Source=orcl;Integrated Security=no;User ID=yourID;Password=yourPassword"/> 
  </connectionStrings> 
<connectionStrings>
    <add name="constr" connectionString="Data Source=orcl;Integrated Security=no;User ID=yourID;Password=yourPassword"/>
  </connectionStrings>添加Oracle数据库支持
[html]<system.web> 
        <!--  
            设置 compilation debug="true" 可将调试符号插入 
            已编译的页面中。但由于这会  
            影响性能,因此只在开发过程中将此值  
            设置为 true。 
        --> 
        <compilation debug="true"> 
 
          <assemblies> 
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
            <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
          </assemblies> 
 
        </compilation></system.web> 
<system.web>
        <!--
            设置 compilation debug="true" 可将调试符号插入
            已编译的页面中。但由于这会
            影响性能,因此只在开发过程中将此值
            设置为 true。
        -->
        <compilation debug="true">

          <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
          </assemblies>

        </compilation></system.web>5.连接数据库

Default.aspx

[html] <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>测试</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    </div> 
    <div> 
        <asp:GridView ID="gvUser" runat="server" AutoGenerateColumns="False"> 
            <Columns> 
                <asp:TemplateField> 
                    <HeaderTemplate> 
                        <asp:CheckBox ID="chkAll" runat="server" /> 
                    </HeaderTemplate> 
                    <ItemTemplate> 
                        <asp:CheckBox ID="chkCurrent" runat="server" /> 
                    </ItemTemplate> 
                </asp:TemplateField> 
                <asp:BoundField DataField="ID" HeaderText="编号" /> 
                <asp:BoundField DataField="Name" HeaderText="姓名" /> 
                <asp:BoundField DataField="Age" HeaderText="年龄" /> 
            </Columns> 
        </asp:GridView> 
    </div> 
    </form> 
</body> 
</html> 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>测试</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    <div>
        <asp:GridView ID="gvUser" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:CheckBox ID="chkAll" runat="server" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkCurrent" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="ID" HeaderText="编号" />
                <asp:BoundField DataField="Name" HeaderText="姓名" />
                <asp:BoundField DataField="Age" HeaderText="年龄" />
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>
Default.aspx.cs

[html]using System; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
//引入 
using System.Data.OracleClient; 
using System.Text; 
 
public partial class _Default : System.Web.UI.Page  

    protected void Page_Load(object sender, EventArgs e) 
    { 
        LoadData();//执行自定义方法“加载数据” 
    } 
 
    //加载数据 
    private void LoadData() 
    { 
        String strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString();//获取webconfig定义的连接字符串 
        OracleConnection con = new OracleConnection(strConnection);//新连接 
        con.Open();//打开连接 
 
        // 
        StringBuilder strSearch = new StringBuilder();//从表User里查询ID、Name、Age信息 
        strSearch.Append("SELECT U.ID ,U.Name,U.Age "); 
        strSearch.Append("FROM User U "); 
        // 
        OracleCommand cmd = new OracleCommand(strSearch.ToString(),con);//命令,查询语句为strSearch,连接为con 
        OracleDataAdapter da = new OracleDataAdapter();//实例化数据适配器da 
        DataSet ds = new DataSet();//实例化内存数据库ds 
        da.SelectCommand = cmd;//数据适配器命令为cmd 
        da.Fill(ds);//通过数据适配器da填充内存数据库ds 
        this.gvUser.DataSource = ds;//GridView数据源为内存数据库ds 
        this.gvUser.DataBind();//绑定数据源 
        con.Close();//关闭数据连接 
    } 

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//引入
using System.Data.OracleClient;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        LoadData();//执行自定义方法“加载数据”
    }

    //加载数据
    private void LoadData()
    {
        String strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString();//获取webconfig定义的连接字符串
        OracleConnection con = new OracleConnection(strConnection);//新连接
        con.Open();//打开连接

        //
        StringBuilder strSearch = new StringBuilder();//从表User里查询ID、Name、Age信息
        strSearch.Append("SELECT U.ID ,U.Name,U.Age ");
        strSearch.Append("FROM User U ");
        //
        OracleCommand cmd = new OracleCommand(strSearch.ToString(),con);//命令,查询语句为strSearch,连接为con
        OracleDataAdapter da = new OracleDataAdapter();//实例化数据适配器da
        DataSet ds = new DataSet();//实例化内存数据库ds
        da.SelectCommand = cmd;//数据适配器命令为cmd
        da.Fill(ds);//通过数据适配器da填充内存数据库ds
        this.gvUser.DataSource = ds;//GridView数据源为内存数据库ds
        this.gvUser.DataBind();//绑定数据源
        con.Close();//关闭数据连接
    }
}

 

摘自  Click Here