接口编程(实现改变文本文件中的内容切换数据库)

来源:互联网 发布:核辐射是什么东西 知乎 编辑:程序博客网 时间:2024/06/06 13:17

----------------------------WebForm1.aspx-----------------------------------------------

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
            GridLines="None">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
        </asp:GridView>
    </div>
    </form>
</body>

</html>


---------------------WebForm1.aspx.cs-------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Common;
using System.Data;
using System.IO;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.Configuration;


namespace 接口编程
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataLoad();
            }
        }
        private void DataLoad()
        {
            DbConnection conn = GetCon();
            DbCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select * from T_User";
            DataTable dt = new DataTable();
            DbDataAdapter adapter = GetDataadpter();
            adapter.SelectCommand = cmd;
            adapter.Fill(dt);
            cmd.Dispose();
            conn.Dispose();
            this.GridView1.DataSource = dt;
            this.GridView1.DataBind();
        }
        //根据选择的数据库动态返回数据适配器
        private DbDataAdapter GetDataadpter()
        {
            DbDataAdapter adapter = null;
            string content = File.ReadAllText(@"e:\adapter.txt");
            if (content.ToUpper() == "SQLSERVER")
            {
                adapter = new SqlDataAdapter();
            }
            else if (content.ToUpper() == "ORACLE")
            {
                adapter = new OracleDataAdapter();
            }
            return adapter;
        }
        //根据选择的数据库动态返回练级对象
        private DbConnection GetCon()
        {
            string strcon = "";
            DbConnection con = null;
            string content = File.ReadAllText(@"e:\conncetion.txt");
            if (content.ToUpper() == "SQLSERVER")
            {
                strcon = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
                con = new SqlConnection(strcon);
            }
            else if (content.ToUpper() == "ORACLE")
            {
                strcon = ConfigurationManager.ConnectionStrings["oraclecon"].ConnectionString; ;
                con = new OracleConnection(strcon);
            }
            return con;
        }
    }
}


------------------Web.config-----------------------------

 <connectionStrings>
    <add name="sqlservercon" connectionString="Data Source=PC-20130106GGEO;Initial Catalog=News;Persist Security Info=True;User ID=sa;Password=111111"/>
    <add name="oraclecon" connectionString="Data Source=orcl;Persist Security Info=True;User ID=liuyi;Password=Liuyiyi11;Unicode=True" providerName="System.Data.OracleClient"/>
  </connectionStrings>