有关数据库查询与填充(通用方法)

方法:DataSet 缓存数据表 = new DataSet();

        private void AccEss数据库查询与填充(string 表达式, string 表名 = "默认", bool 控制数据叠加 = false)/*定义可选参数*/
        {
            try
            {
                Thread 数据询填 = new Thread(delegate()
                {
                    OleDbConnection 建立连接 = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = 数据库名.mdb");
                    OleDbDataAdapter 数据集 = new OleDbDataAdapter(表达式, 建立连接);
                    if (缓存数据表.Tables[表名] != null && !控制数据叠加)
                    {
                        缓存数据表.Tables[表名].Clear();
                        /*下面语句看情况调用*/
                        缓存数据表.Tables[表名].Dispose();
                        GC.SuppressFinalize(缓存数据表.Tables[表名]);
                    }
                    数据集.Fill(缓存数据表, 表名);
                    绑定源 = BindingContext[缓存数据表, 表名];
                });
                数据询填.Start();
                数据询填.Join();
            }
            catch (Exception Ts)
            { 错误友情提示("连接数据库、查询、填充数据错误! " + Ts.ToString()); }
            finally { }
        }

调用:

string 表达式 = "SELECT * FROM 表名 WHERE 字段名 like'" + 查询数据 + "' order by _ID ASC";
       AccEss数据库查询与填充(表达式, "表名称", false);

如果需要叠加多次查询结果则:AccEss数据库查询与填充(表达式, "表名称", true);即可。 

使用传递命名参数的写法:

AccEss数据库查询与填充(表达式:表达式, 表名:表名, 控制数据叠加:true)/*按原顺序传参数*/
AccEss数据库查询与填充(控制数据叠加:true, 表名:表名, 表达式:表达式)/*按任意顺序传参数*/




猜你喜欢

转载自blog.csdn.net/xianfajushi/article/details/8568304