1. 程式人生 > >c# cs方式操作資料庫 非使用sql連線字串直接連線資料庫

c# cs方式操作資料庫 非使用sql連線字串直接連線資料庫

.net 底層資料庫傳輸程式

分為伺服器端與客戶端

此程式作用有:

1.解決直連資料庫有相當大的安全隱串。

2.大廣域網使用時,大資料的查詢相當的時候是耗在網速傳輸,這個解決了大資料量傳輸的問題。大資料量進行壓縮可以 提高速度7~40倍。

3.由於此框架底層使用tcp作為連線,可以發即時訊息。實時傳檔案。可以作為,程式提交表單,時時提醒功能。

4.相容三層框架。三層框架程式幾乎不需要改動就可以直接使用。

伺服器端:

伺服器端比較簡單,幾行程式碼就可以搞定


1. 新增引用 DataUtils.v1.1

2.設定伺服器端所連線的資料庫(這個操作在伺服器端)

    程式碼:

this.listener.DbHelper.ConnectionString = constr;//constr為連線字串

3.開啟監聽

public SocketListener listener = new SocketListener();
listener.StartListening();
4.註冊事件 
listener.RegeditSession += new Feng.Net.Tcp.SocketListener.RegeditSessionEventHandler(listener_RegeditSession);
<pre name="code" class="csharp">        void listener_RegeditSession(object sender, RegeditSessionEventArgs e)
        {

            try
            {
                e.Password == "<span style="font-family: Arial, Helvetica, sans-serif;">pwd</span>" //這裡為客戶登入框,填寫的登入框密碼
                e.User == "<span style="font-family: Arial, Helvetica, sans-serif;">admin</span>"   <span style="font-family: Arial, Helvetica, sans-serif;">//這裡為客戶登入框,填寫的登入名</span>
                //這裡可以判斷是否允許這個使用者登入
                e.Session = new Random().Next(3, int.MaxValue - 10);//這裡設定使用者的Session,再次保障安全。
 
                e.Cancel = false;
                //如果  e.Cancel 設定為True 則取消使用者註冊,關閉使用者的連線。
            }
            catch (Exception ex)
            {
                Feng.Utils.ExceptionHelper.ShowError(ex);
            }
        }



客戶端

1. 新增引用 DataUtils.v1.1

2. 建立一個物件

<pre name="code" class="csharp">SqlClient <span style="font-family: Arial, Helvetica, sans-serif;">client = new SqlClient("IP地址");//client.Host = "xxxxxxxx.eicp.net"; 可以使用IP地址或者花生殼的動態域名,</span>
<span style="font-family: Arial, Helvetica, sans-serif;">Feng.Data.MsSQL.MsDbHelperSQL.client = client;</span>
<span style="font-family: Arial, Helvetica, sans-serif;">設定客戶端的連線</span>
<span style="font-family: Arial, Helvetica, sans-serif;">把動軟程式碼生器DBHelper使用 </span><span style="font-family: Arial, Helvetica, sans-serif;">Feng.Data.MsSQL.MsDbHelperSQL</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="csharp">        /// <summary>
        /// 是否存在該記錄
        /// </summary>
        public bool Exists(string title_id, string title)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select count(1) from titles");
            strSql.Append(" where [email protected]_id and [email protected] ");
            SqlParameter[] parameters = {
					new SqlParameter("@title_id", SqlDbType.VarChar ,6),
					new SqlParameter("@title", SqlDbType.VarChar,80)			};
            parameters[0].Value = title_id;
            parameters[1].Value = title;

            return MsDbHelperSQL.Exists(strSql.ToString(), parameters);
        }



客戶端的函式包括很多可以執行所有的操作

Feng.Net.Tcp.SqlClient.ExecuteSql(string) 
Feng.Net.Tcp.SqlClient.ExecuteSql(string, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.ExecuteSql(string, int) 
Feng.Net.Tcp.SqlClient.ExecuteSql(string, int, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.ExecuteSqlTran(System.Collections.Generic.List<string>) 
Feng.Net.Tcp.SqlClient.ExecuteSqlTran(System.Collections.Generic.List<Feng.Data.ModleInfo>) 
Feng.Net.Tcp.SqlClient.ExecuteSqlTran(System.Collections.Generic.List<string>, int) 
Feng.Net.Tcp.SqlClient.ExecuteSqlTran(System.Collections.Generic.List<Feng.Data.ModleInfo>, int) 
Feng.Net.Tcp.SqlClient.Exists(string) 
Feng.Net.Tcp.SqlClient.Exists(string, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.Exists(string, int) 
Feng.Net.Tcp.SqlClient.Exists(string, int, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.GetMaxID(string, string) 
Feng.Net.Tcp.SqlClient.GetMaxID(string, string, int) 
Feng.Net.Tcp.SqlClient.GetSingle(string) 
Feng.Net.Tcp.SqlClient.GetSingle(string, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.GetSingle(string, int) 
Feng.Net.Tcp.SqlClient.GetSingle(string, int, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.PostCallBac(System.IAsyncResult) 
Feng.Net.Tcp.SqlClient.Query(string) 
Feng.Net.Tcp.SqlClient.Query(string, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.Query(string, int) 
Feng.Net.Tcp.SqlClient.Query(string, int, params System.Data.SqlClient.SqlParameter[]) 
Feng.Net.Tcp.SqlClient.QueryTable(string)

相關推薦

c# cs方式操作資料庫 使用sql連線字串直接連線資料庫

.net 底層資料庫傳輸程式 分為伺服器端與客戶端 此程式作用有: 1.解決直連資料庫有相當大的安全隱串。 2.大廣域網使用時,大資料的查詢相當的時候是耗在網速傳輸,這個解決了大資料量傳輸的問題。大資料量進行壓縮可以 提高速度7~40倍。 3.由於此框架底層使用tcp作為連

Python3:sqlalchemy對mysql數據庫操作sql語句

quest 用戶 prim bind afa make -c 細節 strip() Python3:sqlalchemy對mysql數據庫操作,非sql語句 # python3 # author lizm # datetime 2018-02-01 10:00:00 #

ADO.NET連線字串大全---各種資料庫連線字串

ADO.NET連線字串大全 ADO.NET連線字串 名稱 ADO.NET連線字串 說明 ADO.NET連線字串:

PowerDesigner 連線oracle直接生成資料庫表的方法

創建於 2012-05-08 遷移自個人的百度空間 -------------------------------- 首先機子要裝有oracle驅動程式(在裝oracle伺服器端或客戶端就自動安裝上的oracle的驅動程式)  然後依據下面步驟: 1、database-

oracle資料庫拼接sql語句字串問題

近日遇到一個問題,在使用儲存過程拼接動態語句時,傳輸引數一直提示無效識別符號,研究發現拼接sql語句的時候,作為字串引數的變數要加' ',具體程式碼如下:declare vc_sql varchar2(20000); v_table varchar2(20

Asp.net中Web.config連線字串及配置資料庫sqlserver,詳細

近日正在看Asp.net,看到Web.config有很不清楚之處,特意從網路、MSDN蒐集、歸納和整理,供大家分享。在ASP.NET的web.config中,可以用兩種方式來寫連線字串的配置。<configuration> <appSettings&g

SqlServer 連線字串不使用資料庫名 實現跨庫查詢

此次運用需要在同一伺服器下,在一個庫中SQL查詢一組資料,作為引數提交到一個另一個庫的函式中進行計算,以前沒玩過,問了下度娘,未得到可用結果,遂根據查到的零星資訊猜想,取消連線字串裡面的庫名稱試試能不能同時操作多個庫,經測試,順利一次通過執行成功!詳見以下程式碼(以ASP為

Asp.net中Web.config連線字串及配置資料庫sqlserver

近日正在看Asp.net,看到Web.config有很不清楚之處,特意從網路、MSDN蒐集、歸納和整理,供大家分享。 在ASP.NET的web.config中,可以用兩種方式來寫連線字串的配置。 <configuration> <appSettin

php入門變數之變數的間接引用、連線字串連線賦值運算子

【1】變數的間接引用: <?php $a = 'b'; $$a = '123'; echo $b; ?> 上面的輸出結果是123 我們可以看到在第二行程式碼中多了一個$,並通過指定的名稱訪問變數,指定的名字儲存在$a('b')中,並把這個變數

Android五種資料儲存方式之SQLite資料庫儲存 載入SD卡資料庫 sql操作 事務 防止SQL注入

資料庫 前言 資料庫儲存 資料庫建立 內建儲存資料庫 外接儲存資料庫 編寫DAO 插入操作 更新操作 刪除操作 查詢操作

C++ API方式連線mysql資料庫實現增刪改查

轉自 http://www.bitscn.com/pdb/mysql/201407/226252.html 一、環境配置 1,裝好mysql,新建一個C++控制檯工程(從最簡單的弄起,這個會了,可以往任何c++工程移植),在vs2010中設定,工程--屬性--VC++目

(C# SQL Server) 資料庫連線字串

Debug 一個SQL Server 2008 資料庫連線的問題,老是提示: [67944] System.Data.SqlClient.SqlException (0x80131904): 在與 SQL Server 建立連線時出現與網路相關

C# 連線SQL資料庫 常用連線字串

一:C# 連線SQL資料庫 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; Data Source=190.190.2

java連線資料庫操作2--防止sql注入

sql注入 概念 所謂sql注入,即使用者輸入的字串和我們的sql結合產生預判之外的結果,比如下面這段判斷使用者名稱密碼是否正確的程式碼 String sql = "SELECT * FROM use

C#連線sql server資料庫連線字串書寫

1、連線SQLEXPRESS A)、連線到 SQLServer Express Edition 資料庫,下面的連線字串連線到一個名為 Database1 的資料庫: DataSource=.\SQLEXPRESS;Initial Catalog=Database1;Int

C#.net中的using語法, SQl連線資料庫

using (SqlConnection connection = new SqlConnection(connectionString)){using (SqlCommand cmd = new SqlCommand(SQLString,connection)){try{

C#資料庫連線字串SQL語句處理

關於字串 方法一:連線字串直接擺上來 using (SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS; Data

C#winform直接連線SQL資料庫mdf檔案

1.首先mdf檔案必須是SQLServer2008及以下資料庫,最好是2005版本的資料庫 2.將mdf檔案這裡以資料庫檔案“Test.mdf”為例,放於與程式Bin資料夾同文件夾下 3.在Program.cs檔案中,Main()方法下,新增如下程式碼 string dat

sql數據庫發布、訂閱同步方式操作

數據 代理 傳輸 sel 操作 sqlserve tro 無法遠程 右鍵 Sql數據庫發布訂閱分為兩個步驟:1、發布。2、訂閱。首先在數據源數據庫服務器上對需要同步的數據進行發布,然後在目標數據庫服務器上對上述發布進行訂閱。 一、發布。 發布需要用實際的服務器名稱,不能

VB6基本資料庫應用(三):連線資料庫SQL語句的Select語句初步

資料庫我們已經建好了,重提一下上一章的結果,我們最後建立了一張Student的表,其中有StudentID(數字的雙精度型別)和StudentName(文字型別。補充一下,2013中有【長文字】和【短文字】,人名不會很長,根據上一章選擇儘量小的資料型別的規則,這裡就選【短文字】就可以了)。儘