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 title_id=@title_id and title=@title ");
            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)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。