當前位置:首頁 » 密碼管理 » 數據訪問類

數據訪問類

發布時間: 2022-06-20 20:08:22

❶ 怎麼理解java中的業務邏輯層、數據訪問層、表示層請各位大神幫忙解析

業務邏輯層(servlet)是處理業務的地方
數據訪問層就是去資料庫獲取數據的地方
表示層(jsp,html頁面)也就是展示數據的地方
比如:登入操作,在表示層登入,然後業務邏輯層就會帶著用戶名和密碼去數據訪問層去查詢數據,看看有沒有這個用戶,返回給業務層,業務層就判斷返回的東西,就知道有沒有這個戶名,沒有則攜帶錯誤信息再跳轉到表示層,有則進行下一步操作

❷ codesmith如何寫數據訪問類的模板增刪改查

和普通的類定義靜態成員一樣,只不過要加上模板的申明。
template <typename T>
struct template_class {
static int static_member;
};
template <typename T>
int template_class<T>::static_member = 1;

❸ ASP中Access資料庫訪問類怎麼編寫

一般情況下使用表單來實現,查詢資料庫中的數據採用select*from「數據表」,然後你可以加一些限制條件,來顯示什麼內容,最後寫個顯示語句即可,responet.write""。

❹ C#語言中訪問資料庫的類有哪些

SQL Server .NET Framework數據提供程序的四個核心對象:
SqlConnection SQL Server 資料庫的的連接。
SqlCommand 對SQL Server 資料庫執行Transact-SQL 語句或存儲過程。
SqlDataReader 提供從SQL Server 資料庫讀取行的只進只讀的數據流。
SqlDataAdapter 填充DataSet ,更新 SQL Server 資料庫。
此外還有如下常用的類:
DataSet 數據在內存中的緩存,DataAdapter是橋接器,用Fill方法從資料庫填充DataSet,用Update方法更新資料庫。
數據綁定類:
DataGridView 表格控制項,顯示資料庫表。
BindingSource 封裝窗體的數據源
BindingNavigator 對窗體上綁定的數據導航。是窗體上定位和操作數據的標准化方法。將各種功能的按鈕集成在一起,默認情況下,BindingNavigator控制項的用戶界面(UI)由一系列ToolStrip按鈕、文本框和靜態文本元素組成,用於進行大多數常見的數據相關操作(如添加數據、刪除數據和在數據中導航)。每個控制項都可以通過BindingNavigator控制項的關聯成員進行檢索或設置。
在LINQ to SQL中:
DataContext 是映射資料庫的管道,也可以在DataContext類中聲明方法,映射資料庫中的存儲過程和自定義函數。
實體類 映射資料庫的表以及表間關系,類中的屬性和欄位映射表的欄位。

❺ ADO中數據訪問核心類及其作用

ADO數據訪問提供的七個對象:
Connection
Command
Parameter
Recordset
Field
Property
Error

其中,ADO的核心是Connection,Recordset和Command

首先用Connection與伺服器建立連接,然後用Command對象執行命令,如查詢、更新等。用Recordset對象來操作和查看查詢結果。就是這么簡單。

舉個C++中ADO訪問資料庫的簡單例子:
#include <iostream>
#include <string>
using namespace std;
//導入ADO動態鏈接庫,必須的
#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename("EOF","adoEOF")

void main()
{
_ConnectionPtr m_pConnection; //創建智能指針,必須的
m_pConnection.CreateInstance(__uuidof(Connection)); //或 m_pConnection.CreateInstance("ADODB.Connection");
CoInitialize(NULL); //初始化COM,必須的
try
{
//連接字元串,Student為資料庫名
m_pConnection->ConnectionString="Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Student";

m_pConnection->Open(" "," "," ",adModeUnknown); //調用Open方法
cout<<"1"<<endl;
}
catch(_com_error e) //捕獲連接異常
{
cout<<"資料庫初始化錯誤! "<<endl;
return ;
}
cout<<"連接成功!"<<endl;

_RecordsetPtr pRst(__uuidof(Recordset));

pRst=m_pConnection->Execute("select * from student",NULL,adCmdText);//使用Execute方法,student為表名

if(!pRst>adoEOF)
pRst>MoveFirst();
else
{
cout<<"表內數據為空"<<endl;
return;
}
// 讀入庫中各欄位並加入列表框中
_variant_t var;
string strName;
while(!pRst>adoEOF)
{
var = pRst>GetCollect("Name");
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
pRst>MoveNext();
}

//關閉
pRst->Close();
m_pConnection->Close();
pRst.Release();
m_pConnection->Release();

CoUninitialize(); //釋放COM

}

❻ 數據訪問層常見的方法有哪幾種

一、響應重定向方法

響應重定向方法是目前為止將一個網頁重定向到另一個網頁的最簡單的方法的最簡單的方法。當Web伺服器接到一個重定向請求後,它會將一個響應頭送給客戶端,這將導致客戶端發送一個新的請求到伺服器。按句話說,一個重定向請求實際上是兩個請求響應:一個是最初的請求響應,另一個是新的重定向請求響應。

在ASP.NET中實現重定向很容易。下面的代碼演示了如何使用Response.Redirect方法實現網頁重定向:

protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx");
}

要注意的是重定向請求只是一個GET請求,這就意味著我們不能從源頁中通過重定向命令提交數據。但是我們可以在重定向中使用查詢字元串來傳遞數據。如下面代碼所示:

protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx?userName=" + UserName.Text));
}

上面的例子將一個查詢字元串作為參數傳遞給了Response.Redirect方法的目標URL。我們可以通過如下的代碼獲得源數據。
protected void Page_Load(object sender, EventArgs e)
{
string userName = Request["userName"];
}

二、伺服器傳輸方法

和依賴於客戶端向另一個新頁發請求不同,伺服器傳輸是一種伺服器重定向技術,這種技術通過簡單的改變Web伺服器所處理的代碼來達到請求一個新頁的目的。當被請求頁和源頁面在同一個伺服器時,伺服器傳輸要比 Response.Redirect方法更有效,這是由於這種技術可以避免額外的開銷,僅僅使用伺服器的資源就可以進行重定向。要注意的這種技術有一個副作用,在頁面進行重定向時,客戶端的URL仍然會保持源頁面的URL,這可能會使客戶認為他們所獲得的數據是源頁面產生的。當然,在大多數情況下,這不是問題,但是這將使調試變得更困難。

Server.Transfer方法還可以保存初始頁的 HttpContext。因此,目標頁可以訪問源頁面的值。我們可以使用FormsCollection屬性來從目標頁面中獲得源頁面的值。首先,要確定我們使用了被重載的方法,這個方法有兩個參數:目標URL和一個Boolean類型的值,告訴伺服器是否保存用於描述源頁面值的Form。如下面的代碼所示:

Server.Transfer("Menu.aspx",true);
然後,我們在目標頁面中獲得一個叫txtUserName的Textbox控制項的值的代碼如下:
object obj = Request.Form["txtUserName"];

三、Response.Redirect和Server.Transfer的比較

由於Response.Redirect方法要進行兩次請求響應操作,因此,我們應該在對性能要求高的網站盡量避免使用這種方法。然而,只從技術上說,使用redirect方式確實可以從一個網頁跳到另一個網頁。相比之下,Server.Transfer會更有效率,但是跳轉的范圍僅限於同一個Web伺服器的不同網頁。從本質上說,我們可以使用 Server.Transfer來消除不必要的請求響應操作。如果我們需要重定位到不同伺服器的網頁,就需要使用Response.Redirect方法。

四、跨頁提交概述

在ASP.NET 2.0中,我們可以通過實現IbuttonControl介面提交給不同的WebForm,來實現跨網頁的提交。和Response.Redirect類似,跨網頁提交是一個基於客戶端的傳輸機制,但也有點象Server.Transfer,目標網頁也可以訪問源網頁的數據。為了使用跨網頁提交,我們需要在源網頁中的PostBackUrl屬性中指定目標URL。

五、實現跨網頁提交

這部分將討論一下如何在ASP.NET2.0中實現跨網頁提交。為了開始我們的學習,假設有兩個Web頁,一個是源Web頁,另一個是目標Web頁。在源網頁中初始化了使用按鈕進行的跨網頁提交操作。我們首先必須設置目標網頁按鈕的PostBackUrl屬性,順便說一句,所有實現了System.Web.UI.WebControls.IbuttonControl介面的Web控制項都有跨網頁提交的特性。下面的代碼將演示這一過程。

PostBackUrl="~/target.aspx" text = "Post to a target page"/>
當我們設置PostBackUrl屬性時,ASP.NET框架將相應的控制項綁定到一個新的叫WebForm_DoPostBackWithOptions的JavaScript函數,產生的Html代碼如下:

onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" />

對於上面的html代碼來說,當用戶單擊按鈕時,瀏覽器將提交目標URL(Target.aspx),而不是源URL。

六、從目標頁面中獲得源頁面控制項的值

ASP.NET2.0提供了一個叫PreviousPage的新的屬性,這個屬性無論在何時當前頁面進行跨網頁提交操作時都會指向源頁面。要注意的是,當源頁面和目標頁面在不同的應用程序中時,這個屬性包含null(這個null並不是未初始化的意思)。還有要注意的是當目標網頁訪問PreviousPage屬性時可以獲得源頁面的數據,ASP.NET運行時裝載並執行了源頁面。這將引發ProcessChildRequest事件的發生。而且,它還會引發Page_Init事件、Page_Load和任何其他的源頁面按鈕單擊事件。

因此,我們要避免由於不小心進行誤操作,所以最好通過 IsCrossPostBack屬性來確認是否為一個跨網頁提交發生,如果這個屬性值為true,那麼目標網頁就是通過一個跨網頁提交動作而調用的。如果是通過另外一種方式調用的(如一般的請求、Response.Redirect或是一個Server.Transfer),這個屬性的值為false。下面的例子演示了如何使用這個屬性。

if ( PreviousPage.IsCrossPagePostBack)
{
//執行代碼
}
//******************************************
這個PreviousPage屬性在Server.Transfer和跨網頁提交中都可以使用。在ASP.NET2.0中,我們可以在調用Server.Transfer操作後使用PreviousPage屬性在目標頁面中來獲得源頁面的數據,代碼如下:
*******************************************//
{
Server.Transfer("menu.aspx");
}

protected void Redirect_Click(object sender, EventArgs e)

//在這個接收面中我們現在可以獲得Web頁面的數據,代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
TextBox txtBox = (TextBox)
PreviousPage.FindControl("txtUserName");
if (textBox != null)
string userName = textBox.Text;
//其他可執行的代碼
}
}

要注意的是上面的代碼必須將txtUserName控制項轉換為TextBox類型,以便可以訪問其中的值。

七、使用PreviousPageType

PreviousPageType屬性提供了在跨網頁操作中訪問源頁面的強類型能力,下面讓我們演示一下如何不通過任何類型轉換來從源頁面中獲得控制項值。代碼如下:

< asp:Textbox ID="txtUserName" Runat="server" />
< asp:Textbox ID="txtPassword" Runat="server" />
< asp:Button ID="Submit" Runat="server" Text="Login"PostBackUrl="Menu.aspx" />

要注意的是單擊按鈕可以重定向到一個叫「Menu.asp」的目標頁。這個目標頁可以使用如下的代碼獲得用戶名和密碼:

八、保存視圖狀態

對於跨網頁提交來說,ASP.NET2.0 內嵌了一個叫__POSTBACK的隱藏欄位,這個欄位包含了關於源頁面的視圖信息 -- 也就是由源頁面提供了,包含了一個帶有一個非空PostBackUrl屬性值的服務端控制項。目標頁可以使用__POSTBACK中的信息來獲得源頁面的視圖狀態信息。代碼如下:

if(PreviousPage!=null && PreviousPage.IsCrossPagePostBack &&
PreviousPage.IsValid)
{
TextBox txtBox = PreviousPage.FindControl("txtUserName");
Response.Write(txtBox.Text);
}

在上面的代碼中核對了用於確保PreviousPage屬性不為 null的檢查代碼。順便提一下,如果目標頁和源頁面不在同一個應用程序中,這個PreviousPage屬性的值為null。只有在進行跨網頁提交操作時,IsCrossPagePostBack屬性才為true。

這個跨網頁提交的特性,是ASP.NET2.0中最強有力的特性之一,這種技術將允許在一個頁面中提交到另外一個頁面,並且可以在目標頁面地無縫地操作源頁面中的數據。

❼ 如何創建一個與資料庫類型無關的資料庫訪問類

好理想的觀念,記得90年代末起就有不少公司做過這類處理資料庫的「中件」。你可以搜索下。應用中,如果不需要對應的資料庫管理規范和自身的命令控制台,也不需要太高的數據量,最簡單的方法就是定義一個結構類型及其子類,並與不同的資料庫通信或關聯。

❽ 什麼是數據訪問

數據訪問 (Data Access),是應用程序鏈接到數據源 (Data Source) 訪問數據的一種行為 (Behavior),在大多數的應用程序中,經常會需要使用到數據,而這些數據可能來自很多不同類型的來源,像是資料庫 (Database),網路數據源,本機文件,或是異質性的來源 (例如在 Mainframe 上的 IBM DB2 資料庫),經由一層 (或多層) 中介代碼或中間件 (Middleware) 進入數據源中,並且取出數據後送回應用程序中來處理。

❾ C#關於數據訪問類得到配置文件連接字元串的問題

看微軟官方文檔吧

保護連接信息

網頁鏈接

熱點內容
python在伺服器端開發 發布:2024-05-20 03:31:17 瀏覽:65
編程大冒險 發布:2024-05-20 03:19:27 瀏覽:636
阿瓦隆九個人怎麼配置 發布:2024-05-20 02:57:47 瀏覽:757
sqlnotinexcept 發布:2024-05-20 02:53:10 瀏覽:341
激光切割編程教程難嗎 發布:2024-05-20 02:49:57 瀏覽:925
sqlbool 發布:2024-05-20 02:49:57 瀏覽:721
如何把文件壓縮到最小 發布:2024-05-20 02:25:03 瀏覽:452
javash腳本文件 發布:2024-05-20 01:43:11 瀏覽:830
安卓手機如何登陸刺激戰場國際服 發布:2024-05-20 01:29:02 瀏覽:861
伺服器核庫怎麼找 發布:2024-05-20 01:28:14 瀏覽:375