VS+SQLsever+wf记录

                 怕自己遗忘知识,记录下

                 理解中的框架,主要思路:首先為連接數據庫的操作,其次是SQLServer數據庫訪問基礎類,然後是數據庫的語句邏輯,其次為整個WF調用數據庫語句,數據庫語句調用基本的數據庫邏輯。

                 数据库的链接,从网上找过,有vs里直接用tools链接库,也可以去直接用代码链接,我公司用的是框架,写好的,就一直是代码链接,就是一个链接的类改变其数据库地址就OK的,这里需要注意,有时候你的本地库是没有打开的,需要去打开,打开第二个配置文件,然后看到服务里面有这个,你打开就行了。

                 首先是數據庫的語句如何在C#里能調用,簡單的說是直接把數據庫語句,用C#某種寫法,去間接調用,期主要格式為  string sql = " SELECT * FROM TRIO_ScanRecordList with(nolock) where No='" + No + "'  ";
            DataTable dtbl = new DataTable();
            dtbl = DBHelper.InitDBHelperSQL.ExecuteDataTable(sql);這裡的     ExecuteDataTable(sql) 這個方法是SQLServer數據庫訪問基礎類里的基礎類,SQL是你可以任意改的數據庫語句,這個方法的返回數據,可以是datatable或者bool,string各種,滿足于你所需的要求。而直接写数据库语句是无法调用到数据库的,提供这种写法是因为本身就封装好了真正在干活的类,接下来是 ExecuteDataTable(sql)的来处。

             贴代码有点多,贴上重点的一个示例,这个语句存在,往后你就可以直接传string ,string是sql的语句,这是封装好的。

   /// <summary>
        /// 执行一条计算查询结果语句,返回列表第一行第一列查询结果(object)。
        /// </summary>
        /// <param name="SQLString">计算查询结果语句</param>
        /// <returns>查询结果(object)</returns>
        public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    try
                    {
                        PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                        object obj = cmd.ExecuteScalar();
                        cmd.Parameters.Clear();
                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                        {
                            return null;
                        }
                        else
                        {
                            return obj;
                        }
                    }
                    catch (System.Data.SqlClient.SqlException e)
                    {
                        throw new Exception(e.Message);
                    }
                }
            }
        }

        /// <summary>
        /// 执行查询语句,返回列表SqlDataReader
        /// </summary>
        /// <param name="strSQL">查询语句</param>
        /// <returns>SqlDataReader</returns>
        public static SqlDataReader ExecuteReader(string SQLString, params SqlParameter[] cmdParms)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();
            try
            {
                PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                SqlDataReader myReader = cmd.ExecuteReader();
                cmd.Parameters.Clear();
                return myReader;
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                throw new Exception(e.Message);
            }
        }

            以上这个例子是其中两个,一般来说增删改查写齐全,然后加每个的可以传递参数的方法,就可以,当然如果是游戏方面的数据库用到的方法就不是这样,理解中socket制定协议传给服务的,服务的接受拆分好做处理,也有说通过PHP连库的,但是这种方法维护起来需要会两种类型的代码  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值