日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net三层架构连接Oracle 11g详解

發布時間:2025/4/14 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net三层架构连接Oracle 11g详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

asp.net三層架構連接Oracle 11g

連接Oracle時使用微軟的Oracle連接組件;

?

一 DAL層

?

using System; using System.Collections.Generic; using System.Text; using System.Collections; using System.Data; using System.Data.OracleClient;namespace SystemDAL {public class DAL{//連接字符串public static string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db"].ToString();public DAL(){//connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db"].ToString();}/// <summary>/// 執行單條語句/// </summary>/// <param name="sql"></param>/// <returns></returns>public static int ExecuteNonQuery(string sql){int x = 0;try{// Open a connection to the DB.OracleConnection connOra = new OracleConnection(connectionString);connOra.Open();OracleTransaction tran = connOra.BeginTransaction();// Create a command to execute the sql statement.OracleCommand cmdOra = connOra.CreateCommand();cmdOra.CommandText = sql;x = cmdOra.ExecuteNonQuery();tran.Commit();connOra.Close();connOra.Dispose();cmdOra.Dispose();}catch (Exception ex){//log.Error(ex.StackTrace);}return x;}public static DataTable ExecuteDataTable(String cmdText){DataTable dt = new DataTable();//DbProviderFactory factory = DbProviderFactories.GetFactory(providerName);try{// Open a connection to the DB.//DbConnection connOra = factory.CreateConnection();OracleConnection connOra = new OracleConnection(connectionString);//connOra.ConnectionString = connectionString;connOra.Open();// Create a command to execute the sql statement.//DbCommand cmd = factory.CreateCommand();OracleCommand cmd = connOra.CreateCommand();cmd.CommandText = cmdText;OracleDataAdapter ada = new OracleDataAdapter();//DbDataAdapter ada = factory.CreateDataAdapter();// new OracleDataAdapter(cmd1); ada.SelectCommand = cmd;ada.Fill(dt);connOra.Close();connOra.Dispose();cmd.Dispose();}catch (Exception ex){string str = ex.Message;}return dt;}} }


類DAL;


執行單條語句ExecuteNonQuery:
傳入sql語句,返回值int;
打開Oracle連接,構造Oracle命令對象,設置命令對象的命令文本等于傳入的sql;
執行sql,返回執行的int型結果;


獲取數據表ExecuteDataTable:
傳入sql語句,返回數據表;
打開Oracle連接;
構造Oracle命令對象,設置命令對象的命令文本等于傳入的sql;
new一個Oracle適配器對象,設置適配器對象的SelectCommand等于命令對象;
調用適配器對象的Fill方法填充數據表對象,返回數據表對象;

?

?

?

?

二 BLL層

?

using System; using System.Collections.Generic; using System.Text; using SystemModel; using SystemDAL; using System.Data;namespace SystemBLL {public class BLL{public BLL(){}/// <summary>/// 插入方法/// </summary>/// <param name="M"></param>/// <returns></returns>public static int InsertData(LoginModel M){string sql = "INSERT INTO Login VALUES(@LoginName,@LoginPassword)";try{DAL dal = new DAL();return DAL.ExecuteNonQuery(sql);}catch (Exception E){throw E;}}/// <summary>/// 修改方法/// </summary>/// <param name="M"></param>/// <returns></returns>public static int UpdateTData(LoginModel M){string sql = "UPDATE Login SET LoginName=@LoginName,LoginPassword=@LoginPassword WHERE ID=@ID";try{DAL dal = new DAL();return DAL.ExecuteNonQuery(sql);}catch (Exception E){throw E;}}/// <summary>/// 刪除方法/// </summary>/// <param name="M"></param>/// <returns></returns>public static int DeleteData(LoginModel M){string sql = "DELETE FROM Login WHERE ID=@ID";try{DAL dal = new DAL();return DAL.ExecuteNonQuery(sql);}catch (Exception E){throw E;}}/// <summary>/// 登錄方法/// </summary>/// <param name="M"></param>/// <returns></returns>public static DataTable Login(string LoginName, string LoginPassword){string sql = "SELECT * FROM Logins WHERE UserName=@LoginName AND Password=@LoginPassword";try{DAL dal = new DAL();return DAL.ExecuteDataTable(sql);}catch (Exception E){throw E;}}/// <summary>/// 查詢所有用戶/// </summary>/// <param name="M"></param>/// <returns></returns>public static DataTable GetUser(LoginModel M){try{string sql = "SELECT * FROM Login";DAL dal = new DAL();return DAL.ExecuteDataTable(sql);}catch (Exception E){ throw E;}}/// <summary>/// 查詢單個用戶/// </summary>/// <param name="M"></param>/// <returns></returns>public static DataTable GetUserID(LoginModel M){try{string sql = "SELECT * FROM Login WHERE ID=@ID";DAL dal = new DAL();return DAL.ExecuteDataTable(sql);}catch (Exception E){throw E;}}} }


引用SystemModel,SystemDAL;
類BLL;


插入數據InsertData:
傳入LoginModel對象M,返回int;
調用DAL.ExecuteNonQuery在Login表中插入值;


修改數據UpdateTData:
傳入LoginModel對象M,返回int;
調用DAL.ExecuteNonQuery更新Login表;


刪除數據DeleteData:
傳入LoginModel對象M,返回int;
調用DAL.ExecuteNonQuery從Login表刪除數據;


登錄方法Login:
調用DAL.ExecuteNonQuery從Login表返回匹配的記錄;
返回類型為DataTable;


查詢所有用戶,返回DataTable;
查詢單個用戶,根據ID返回DataTable;

?

?

?

?

三 實體層

using System; using System.Collections.Generic; using System.Text;namespace SystemModel {public class LoginModel{public LoginModel(){}private int _ID;public int ID{get { return _ID; }set { _ID = value; }}private string _LoginName;public string LoginName{get { return _LoginName; }set { _LoginName = value; }}private string _LoginPassword;public string LoginPassword{get { return _LoginPassword; }set { _LoginPassword = value; }}} } ?

四 前端

login.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><title>登錄界面|- 51aspx.com</title> </head> <body style="text-align: center"><form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server" /><asp:Panel ID="Panel1" runat="server" Height="13px" Width="359px" style="font-weight: bold; font-size: small"><table style="width: 372px"><tr><td style="width: 81px"><asp:Label ID="Label1" runat="server" Text="用戶名"></asp:Label></td><td style="width: 146px"><asp:TextBox ID="TextBox1" runat="server" Height="18px"></asp:TextBox></td><td style="width: 116px"><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"ErrorMessage="用戶名不能為空" ForeColor="DarkGray" Width="126px"></asp:RequiredFieldValidator></td></tr><tr><td style="width: 81px; height: 28px;"><asp:Label ID="Label2" runat="server" Text="密 碼"></asp:Label></td><td style="width: 146px; height: 28px;"><asp:TextBox ID="TextBox2" runat="server" TextMode="Password" Width="149px"></asp:TextBox></td><td style="width: 116px; height: 28px;"><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2"ErrorMessage="密碼不能為空" ForeColor="DarkGray"></asp:RequiredFieldValidator></td></tr><tr><td style="width: 81px"></td><td style="width: 146px"><asp:LinkButton ID="LinkButton1" runat="server" Font-Underline="False" ForeColor="Black"OnClick="LinkButton1_Click">登 錄</asp:LinkButton><asp:LinkButton ID="LinkButton2" runat="server" Font-Underline="False" ForeColor="Black"OnClick="LinkButton2_Click">重 置</asp:LinkButton></td><td style="width: 116px"></td></tr></table></asp:Panel></form> </body> </html>
login.aspx.cs 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 SystemModel; using SystemBLL;public partial class _Default : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e){}protected void LinkButton1_Click(object sender, EventArgs e){DataTable table1 = BLL.Login(this.TextBox1.Text, this.TextBox2.Text);if (table1.Rows.Count > 0){Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('登錄成功!');</script>");Response.Redirect("test.aspx");}else{Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('登錄失敗!');</script>");}}protected void LinkButton2_Click(object sender, EventArgs e){this.TextBox1.Text = null;this.TextBox2.Text = null;} } ?

五 web.config

<span style="white-space:pre"> </span><connectionStrings><add name="db" connectionString="Data Source=ORCL;User Id=scott;Password=123dd654ca"/></connectionStrings>
?

?

?

總結

以上是生活随笔為你收集整理的asp.net三层架构连接Oracle 11g详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 又粗又大又硬毛片免费看 | 久久av无码精品人妻系列试探 | 在线免费观看黄视频 | 美女av免费在线观看 | av在线观看地址 | 一区二区欧美在线 | 国产极品尤物 | 最近高清中文在线字幕在线观看 | 熟妇人妻中文字幕 | 中文字幕成人动漫 | 成年人视频在线看 | 乱一色一乱一性一视频 | www.猫咪av| 性做爰裸体按摩视频 | 91社区视频| 亚洲天堂系列 | 国产破处视频 | 老熟妇毛茸茸 | 久久无码高潮喷水 | 中文字幕av观看 | 免费在线观看不卡av | 91热久久 | 贝利弗山的秘密1985版免费观看 | 国产男女无遮挡猛进猛出 | 性涩av| 亚洲午夜一区二区三区 | 日韩视频在线视频 | 超碰www | 日本夜夜操 | 国产一级片久久 | 久久精品欧美 | www.av在线.com | 亚洲网址在线观看 | 成年人在线观看视频免费 | 欧美色涩在线第一页 | 欧洲精品无码一区二区 | 亚洲xxxx天美| 精品国产99一区二区乱码综合 | 国产校园春色 | 日韩精品久久一区 | 超清av在线 | 综合爱爱网| 丝袜毛片| 精品久久久久久久久久久 | 国产色无码精品视频 | 色欧美片视频在线观看 | 国产卡一卡二 | 播放黄色一级片 | 欧美午夜在线观看 | 久久久久99精品成人片毛片 | 国内精品人妻无码久久久影院蜜桃 | 免费色播 | xxx视频在线观看 | 四虎影院在线观看免费 | 日本一区二区三区在线看 | 男生和女生一起差差差视频 | 二区在线播放 | 成人黄色免费在线观看 | 天堂国产一区二区三区 | 在线观看第一页 | 在线播放不卡 | 亚洲天堂网站 | 一区二区三区四区中文字幕 | 五月婷婷网 | 久久综合婷婷 | 处女朱莉 | 亚洲av鲁丝一区二区三区 | 2025国产精品视频 | 久久精品无码中文字幕 | 精品久久999| 嫩草99| 曰批免费视频播放免费 | 67194成人| 天天操精品 | 3d动漫精品h区xxxxx区 | 欧美99久久精品乱码影视 | 亚洲大片免费看 | av老司机在线观看 | 黄色aa毛片 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 婷婷激情五月综合 | 精品国产96亚洲一区二区三区 | 校园sm主奴调教1v1罚视频 | 国产经典一区二区 | 9i看片成人免费看片 | 欧美黄色短视频 | 白丝少妇| 欧美日韩乱国产 | 99久久久无码国产精品不卡 | 国产微拍精品一区 | 精品日韩在线视频 | 在线视频精品免费 | 91在线资源 | 黄色美女片 | 青青草公开视频 | 日本黄色大片网站 | 制服丝袜影音先锋 | 欧美精品久久久久久 | 久久成人高清 |