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

來源:互聯網
上載者:User

標籤:style   blog   io   color   ar   os   使用   sp   strong   

.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連接字串直接連接資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.