数据库的配置和页面调用

一、SQLServer2000数据库的配置和页面调用

<?xml version="1.0" encoding="big5" ?>
<configuration>
   <appSettings>
   <add key="connstr" value="server=127.0.0.1;database=designeng;uid=sa;pwd=zhoutao;"/>
   </appSettings> Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim str, sql As String
        Dim conn As SqlConnection
        Dim da As SqlDataAdapter
        Dim ds As New DataSet
        Dim dv As DataView
        If txt1.Text = "" Or txt2.Text = "" Then
            Response.Write("<script language=javascript>alert('用戶名或密碼為空!');</script>")
        Else
            str = ConfigurationSettings.AppSettings("connstr")
            conn = New SqlConnection(str)
            sql = "select * from usertable where design_worknum='" + txt1.Text + "'"
            da = New SqlDataAdapter(sql, conn)
            da.Fill(ds, "tables")
            dv = ds.Tables("tables").DefaultView
            If dv.Count - 1 >= 0 Then
                Session("password") = ds.Tables("tables").Rows(0).Item(3).ToString              
                If Session("password") = txt2.Text Then
                    Session("headship") = ds.Tables("tables").Rows(0).Item(4).ToString
                    Session("names") = ds.Tables("tables").Rows(0).Item(0).ToString
                    Session("partment") = ds.Tables("tables").Rows(0).Item(2).ToString
                    Session("worknum") = ds.Tables("tables").Rows(0).Item(1).ToString
                    Session("computerIP") = ds.Tables("tables").Rows(0).Item(5).ToString
                    Session("group") = ds.Tables("tables").Rows(0).Item(7).ToString
                    lab1.Text = Session("names")
                    lab2.Text = Session("worknum")
                    lab3.Text = Session("headship")
                    Panel1.Visible = False
                    panel2.Visible = True
                    txt1.Text = ""

                End If
            End If
        End If
    End Sub
 二、oracle数据库webconfig配置及页面调用示例

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="ConnString" value="user id=dbauser;data source=DBHM;password=password"/>
        <add key="SqlConnString" value="packet size=4096;user id=GQT;data source=127.0.0.1;persist security info=True;initial catalog=HumanDB;password=password"/>
<add key="HrmString" value="user id=HRM;data source=DBRM;password=DBRM"/>
    </appSettings>
   
  <system.web>using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient ;

namespace eElectrode
...{
    /** <summary>
    /// Summary description for LoginForm.
    /// </summary>
    public class LoginForm : System.Web.UI.Page
    ...{
        protected System.Web.UI.WebControls.ImageButton btnConfirm;
        protected System.Web.UI.WebControls.TextBox txtPassword;
        protected System.Web.UI.WebControls.TextBox txtUser;

        private string connString = string.Empty;
        private OracleConnection conn    = new OracleConnection();
   
        private void Page_Load(object sender, System.EventArgs e)
        ...{
            Response.Expires = -1;
            connString = System.Configuration.ConfigurationSettings.AppSettings["ConnString"].ToString();
            conn.ConnectionString = connString;
            Session.RemoveAll();
        }
        private void CheckUser()
        ...{
            if (txtUser.Text.Length <1)
            ...{
                Response.Write("<script language='javascript'>alert('用戶名不允許為空!')</script>");
                return;
            }

            try
            ...{
                conn.Open();
                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;
                string selString = "Select * from UserInformation where UserId = '" + txtUser.Text + "' and Password = '" + txtPassword.Text + "'";
                cmd.CommandText = selString;
                OracleDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                ...{
                    while (dr.Read())
                    ...{
                        Session.Remove("UserId");
                        Session.Remove("GroupName");
                        Session.Remove("UserType");

                        Session.Add("UserId",dr["UserId"].ToString());
                        HttpCookie cook = new HttpCookie("UserId",dr["UserId"].ToString());
                        Response.Cookies.Add(cook);

                        Session.Add("GroupName",dr["GroupName"].ToString());
                        HttpCookie cook1 = new HttpCookie("GroupName",dr["GroupName"].ToString());
                        Response.Cookies.Add(cook1);

                        Session.Add("UserType",dr["UserType"].ToString());
                        HttpCookie cook2 = new HttpCookie("UserType",dr["UserType"].ToString());
                        Response.Cookies.Add(cook2);
                    }
                    dr.Close();
                    string updateString = "Update UserInformation set LastLoginDate = sysdate where UserId = '" + txtUser.Text + "'";
                    cmd.CommandText = updateString;
                    cmd.ExecuteNonQuery();
                    updateString = "Insert into LOGIN_LOG(USERNAME,LOGTYPE,LOGTIME)" +
                        " values('" + txtUser.Text + "','IN',sysdate)";
                    cmd.CommandText = updateString;
                    cmd.ExecuteNonQuery();
                    Response.Write("<script language='javascript'>window.location = 'Default.htm';</script>");
                }
                else
                ...{
                    Response.Write("<script language='javascript'>alert('用戶名或密碼不正確,請重新輸入!')</script>");
                    txtUser.Text = "";
                    txtPassword.Text = "";
                    dr.Close();
                    conn.Close();
                    return;
                }
            }
            catch (System.Exception ex)
            ...{
                Response.Write("<script language='javascript'>alert('"+ex.Message+"')</script>");
            }
            finally
            ...{
                conn.Close();
            }
           
        }
        private void btnConfirm_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        ...{
            CheckUser();
        }
三、oracle數據庫webconfig調用的另一個配置和頁面調用,因此方法是微軟退出的一個跟數據庫類型無關的鏈接方式,故需要在Bin目錄文件夾中加載微軟的相應Dll文件,此處欠奉。

<?xml version="1.0"?>
<!--
    注意: 除了手动编辑此文件以外,您还可以使用
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在
    machine.config.comments 中,该文件通常位于
    WindowsMicrosoft.NetFrameworkv2.xConfig 中
-->
<configuration>
    <configSections>
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </configSections>
    <appSettings>
  <add key="CrystalImageCleaner-AutoStart" value="true" />
  <add key="CrystalImageCleaner-Sleep" value="60000" />
  <add key="CrystalImageCleaner-Age" value="120000" />
 </appSettings>
    <dataConfiguration defaultDatabase="OracleConnection"/>
    <connectionStrings>
        <add name="OracleConnection" connectionString="user id=test;data source=TEST;password=test;Pooling=true;Min Pool Size=0;Max Pool Size=200;" providerName="System.Data.OracleClient"/>
        <add name="Connection" connectionString="user id=DBconnect;data source=dbconn;password=conn;" providerName="System.Data.OracleClient"/>
    </connectionStrings>
    <system.web>using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using System.Data.Common;

public partial class Login : System.Web.UI.Page
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
        Session.RemoveAll();
    }
    private void CheckUser()
    ...{
        if (txtUser.Text.Length < 1)
        ...{
            Response.Write("<script language='javascript'>alert('用戶名不允許為空!')</script>");
            return;
        }

        try
        ...{
            Database db = DatabaseFactory.CreateDatabase();
            string selString = "Select * from USERINFORMATION where USERID = '" + Helper.LoginLetterSelected(txtUser.Text) + "' and Password = '" + Helper.LoginLetterSelected(txtPassword.Text) + "'";
            DbCommand selCmd = db.GetSqlStringCommand(selString);
            IDataReader selDr = db.ExecuteReader(selCmd);
            if (selDr.Read())
            ...{
                Session.Remove("UserId");
                Session.Remove("UserName");
                Session.Remove("GroupName");
                Session.Remove("UserType");

                Session.Add("UserName", selDr["USERNAME"].ToString());
                HttpCookie cook3 = new HttpCookie("UserName", selDr["USERNAME"].ToString());
                cook3.Expires = DateTime.Now.AddDays(10);
                Response.Cookies.Add(cook3);

                Session.Add("UserId", selDr["UserId"].ToString());
                HttpCookie cook = new HttpCookie("UserId", selDr["UserId"].ToString());
                cook.Expires = DateTime.Now.AddDays(10);
                Response.Cookies.Add(cook);

                Session.Add("GroupName", selDr["GroupName"].ToString());
                HttpCookie cook1 = new HttpCookie("GroupName", selDr["GroupName"].ToString());
                cook1.Expires = DateTime.Now.AddDays(10);
                Response.Cookies.Add(cook1);

                Session.Add("UserType", selDr["UserType"].ToString());
                HttpCookie cook2 = new HttpCookie("UserType", selDr["UserType"].ToString());
                cook2.Expires = DateTime.Now.AddDays(10);
                Response.Cookies.Add(cook2);
                selDr.Close();
                string updateString = "Update USERINFORMATION set LastLoginDate = sysdate where UserId = '" + txtUser.Text + "'";
                selCmd.CommandText = updateString;
                db.ExecuteNonQuery(selCmd);
                Session["url"] = Request.QueryString["url"];
                Response.Write("<script language='javascript'>window.location = 'Default.htm';</script>");
            }
            else
            ...{
                Response.Write("<script language='javascript'>alert('用戶名或密碼不正確,請重新輸入!')</script>");
                txtUser.Text = "";
                selDr.Close();
                return;
            }
        }
        catch (System.Exception ex)
        ...{
            Response.Write("<script language='javascript'>alert('" + ex.Message + "')</script>");
        }
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    ...{
        CheckUser();
    }
}
四、oracle中不使用webconfig連接數據庫,而是直接把連接語句寫到一個類里,然後調用的方法

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;
using System.Data.Common;

/** <summary>
/// 創建數據庫聯接、執行存儲過程
/// </summary>
public class DB
...{
    public DB()
    ...{
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    public static OracleConnection Oraconn()
    ...{
        return new OracleConnection("user id=test;data source=DBA_192.168.0.1;password=test;Pooling=true;Min Pool Size=0;Max Pool Size=200;");
       
    }

    /**<summary>
    ///名稱:CreatCommand
    ///描述:創建一個OracleCommand對象來執行存儲過程。
    ///</summary>
    ///<param name="procName">存儲過程名稱</param>
    ///<param name="prams">存儲過程所需要的參數</param>
    ///<returns>返回sqlcommand對象></returns>
   
    public OracleCommand CreateCommand(string procName, OracleParameter[] prams)
    ...{
        OracleConnection oraconn = DB.Oraconn();
        oraconn.Open();
        OracleCommand cmd = new OracleCommand(procName,oraconn);
        cmd.CommandType = CommandType.StoredProcedure;

        if (prams != null)
        ...{
            foreach (OracleParameter parameter in prams)
            ...{
                cmd.Parameters.Add(parameter);
            }
        }
        return cmd;
    }
五、c#連接Access

using System.Data;
using System.Data.OleDb;
..
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";strConnection+=@"DataSource=C:BegASPNETNorthwind.mdb";
OleDbConnection objConnection=new OleDbConnection(strConnection);
..
objConnection.Open();
...
objConnection.Close();
解释:

连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。

“Data Source=C:/BegASPNET/Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath/MyFile.MDB”。

PS:
1.“+=”后面的“@”符号是防止将后面字符串中的“/”解析为转义字符。
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

strConnection+="Data Source=";
strConnection+=MapPath("Northwind.mdb");
3.要注意连接字符串中的参数之间要用分号来分隔。

“OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。

“objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。

发表于 @


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/linxi27/archive/2008/02/21/2111826.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值