成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

概述C#存取Access數(shù)據(jù)庫

開發(fā) 后端
本文介紹C#存取Access數(shù)據(jù)庫,我們利用.Net 遠程處理功能將連接和存取Access的行為封裝為一個遠程對象,供網(wǎng)絡中其它客戶端通過調用該遠程對象C#存取Access數(shù)據(jù)庫。

目前,基于數(shù)據(jù)庫服務器的桌面管理程序和Web程序已經(jīng)有太多的應用了,尤其是網(wǎng)絡的大量普及,孤立地數(shù)據(jù)庫管理系統(tǒng)無法勝任分布式管理應用,但是面對基于Access數(shù)據(jù)庫的現(xiàn)有的桌面應用我們也無法完全的摒棄。我們利用.Net 遠程處理功能將連接和存取Access的行為封裝為一個遠程對象,供網(wǎng)絡中其它客戶端通過調用該遠程對象C#存取Access數(shù)據(jù)庫。我們以 C# 2005 為開發(fā)語言來實現(xiàn)上述功能。

一、技術要點

我們都知道Windows應用程序在運行時會啟動一個進程,其總包括若干線程,不同的進程之間通信是開發(fā)分布式應用程序所必需的,傳統(tǒng)上,這不僅需要深入了解通信流兩端上進程的對象,而且還要深入了解低級別協(xié)議的宿主、應用程序編程接口以及配置工具等。總之,它是一項需要大量專業(yè)知識和經(jīng)驗的復雜任務。

幸好.Net為我們提供了遠程處理功能,它所提供的通信方法可以快速而方便地完成上述建立通信的任務。因此,無論是需要快速開發(fā) Web 應用程序,還是要花費更多時間生成關鍵的企業(yè)范圍的應用程序,.NET Framework 都會提供支持。通過 .NET 遠程處理,客戶端應用程序可以使用同一臺計算機或其網(wǎng)絡中其他任何可用的計算機上的其他進程中的對象。

要使用 .NET 遠程處理創(chuàng)建可以讓兩個對象跨越應用程序直接通信的應用程序,只需生成以下對象即可:

1.可遠程處理的對象。

2.偵聽對該遠程對象的請求的應用程序即服務器程序。

3.對該遠程對象發(fā)出請求的客戶端應用程序。

.Net下不同應用程序中的對象的通信方式有兩種:一種是跨應用程序域邊界傳輸對象副本,一種是使用代理交換消息。MarshalByRefObject 是通過使用代理交換消息來進行通信的對象的基類。當跨應用程序使用遠程對象時,對象的基類必須是從 MarshalByRefObject 繼承。

二、程序實現(xiàn)

我們先在VS的IDE中創(chuàng)建名為“TestRemoteAccess”的新的解決方案來容納前述用來實現(xiàn)遠程處理的三個項目,首先向解決方案中添加名為“RemoteObject”的類庫,然后將默認創(chuàng)建的類名更改為“CRemoteAccess”,并且繼承于“MarshalByRefObject”,代碼如下:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;   
  4. namespace RemoteObject  
  5. {  
  6. public class CRemoteAccess : MarshalByRefObject  
  7. {}  
  8. }  

我們需要在該對象內創(chuàng)建C#存取Access數(shù)據(jù)庫的所有函數(shù),供服務端客戶端程序同時調用。用于C#存取Access數(shù)據(jù)庫的方法這里不再詳述,參看附件源碼。

首先所有需要向客戶端公開的函數(shù)其可見性都必須設為 public.變量m_ConnString需要設置為public static,目的是當客戶端調用了SetRemoteAccessConnString后將數(shù)據(jù)庫連接字符串保存下來以備在本次連接期間始終能夠訪問,代碼如下:

  1. public static string m_ConnString;  
  2. ……  
  3. public void SetRemoteAccessConnString(string Connstr)  
  4. {  
  5. m_ConnString = Connstr;  
  6. }  
  7. ……  


成功連接了Access數(shù)據(jù)庫后我們需要返回數(shù)據(jù)集給請求的客戶端進行顯示和編輯,在遠程對象中我們聲明了幾個相關函數(shù):

  1. private void LoadData(string SqlStr, string TableName)  
  2. public void SaveData(DataTable ClientDataTable)  
  3. public DataTable GetUserTable(string SqlStr, string TableName) 

客戶端可以傳遞SQL查詢腳本通過調用 GetUserTable來獲取相關數(shù)據(jù)庫表的數(shù)據(jù),并返回一個DataTable,然后可以將該DataTable附值給DataGridView以便將數(shù)據(jù)顯示出來。GetUserTable通過調用私有的LoadData 函數(shù)來完成對數(shù)據(jù)的獲取。SaveData函數(shù)用于將編輯過的數(shù)據(jù)集C#存取Access數(shù)據(jù)庫文件,代碼如下:

  1. m_connection.Open();  
  2. m_adapter.Update(ClientDataTable); 

【編輯推薦】

  1. C# 4.0 Dynamic關鍵字全解析
  2. 淺談C#中構造函數(shù)和成員函數(shù)
  3. C#回調函數(shù)及API應用淺析
  4. 詳解C# Object.Equals函數(shù)
  5. C#調用Windows API函數(shù)
責任編輯:佚名 來源: IT168
相關推薦

2024-04-18 09:56:16

2009-08-25 12:50:32

數(shù)據(jù)庫常用C#代碼

2009-08-17 17:42:57

C#數(shù)據(jù)庫操作類

2009-08-25 16:36:16

C#進行數(shù)據(jù)庫編程

2009-09-01 09:45:49

Visual C#對數(shù)

2009-08-19 16:30:55

C#操作Access數(shù)

2009-08-03 14:17:18

C#連接AccessC#連接SQL Ser

2009-08-28 13:03:55

C#壓縮Access數(shù)

2010-09-13 09:03:49

Access數(shù)據(jù)庫

2009-08-19 16:40:26

C#操作Access數(shù)

2009-08-19 16:19:01

C#操作Access數(shù)

2009-08-07 13:16:27

c#相對路徑寫法

2009-08-28 16:14:26

C#實現(xiàn)加載動態(tài)庫

2009-08-11 13:35:13

C# Berkeley

2009-03-19 10:08:09

C#數(shù)據(jù)庫查詢

2009-08-07 17:54:41

C#單元格數(shù)據(jù)

2009-08-12 16:39:50

C#向Excel插入數(shù)

2010-10-26 15:21:11

連接Oracle數(shù)據(jù)庫

2009-09-04 18:00:54

C#數(shù)據(jù)訪問層

2009-08-06 18:03:21

C#相對路徑
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久久久久久久 | 亚洲欧美日韩成人在线 | 久久伊人一区二区 | 久久久国产精品视频 | 日韩在线观看中文字幕 | 久久免费高清视频 | 亚洲精品免费视频 | 夜久久| 国产一区二区三区在线 | 久久久国产精品 | 中文字幕1区2区3区 日韩在线视频免费观看 | 九九九视频精品 | 精品国产不卡一区二区三区 | 嫩草视频在线免费观看 | 成人精品视频 | 国产精品免费视频一区 | 久久午夜剧场 | 亚洲精品一级 | 中文字幕在线观看成人 | 爱爱视频在线观看 | 欧美美女爱爱 | 美日韩精品 | 中文字幕精品视频在线观看 | 国产免费播放视频 | 日韩视频精品在线 | 91精品国产综合久久精品图片 | 亚洲欧美日韩久久 | 丁香五月网久久综合 | 色一级| 精品日韩在线 | 亚洲精品日韩一区二区电影 | 国产精品美女久久久av超清 | 欧美精品中文字幕久久二区 | 欧美日韩一区二区三区四区五区 | av在线免费播放 | 日韩欧美一区二区三区免费观看 | 久久精品无码一区二区三区 | 国产精品视频久久久久 | 91精品久久久久久久久 | 五月天激情综合网 | 欧美日韩在线观看视频 |