• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#winForm多条件模糊查询实现(主要讲思路,请忽略与数据库(sqlite)相关的代码) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.窗体设计

 

2.思路

  通过遍历数组生成查询条件和查询

 

3.代码

        private void BtnSerch_Click(object sender, EventArgs e)
        {//开始查询按钮

            SerOrder();//查询订单

        }
        private void BtnSerClean_Click(object sender, EventArgs e)
        {//清空查询条件按钮

            DgvSer.Rows.Clear();

            TxbSerOrderID.Text = "";
            TxbSerMemberID.Text = "";
            TxbSerCompany.Text = "";
            TxbSerCustomer.Text = "";
            TxbSerPhone.Text = "";
            TxbSerAdd.Text = "";
            CmbSerOpener.Text = "";
            CmbSerInstaller.Text = "";
            TxbSerOrderSum.Text = "";
            CmbSerPrinted.Text = "";

            //清空日历
            DateTimePicker1.Format = DateTimePickerFormat.Custom;
            DateTimePicker1.CustomFormat = " ";

            TxbSerOrderID.Focus();

        }

 

private void SerOrder()
        {//查询订单

            DgvSer.Rows.Clear();//初始化datagridview

            //查询语句参数值
            string[] paras = { TxbSerOrderID.Text.Trim(), DateTimePicker1.Text.Trim(), TxbSerMemberID.Text.Trim(), TxbSerCompany.Text.Trim(), TxbSerCustomer.Text.Trim(), TxbSerPhone.Text.Trim(), TxbSerAdd.Text.Trim(), CmbSerOpener.Text.Trim(), CmbSerInstaller.Text.Trim(), TxbSerOrderSum.Text.Trim(), CmbSerPrinted.Text.Trim() };
            //数据表列名
            string[] columns = { "OrderID", "BillingDate", "MemberID", "CompanyName", "CustomerName", "CellphoneNumber", "CustomerAddress", "Opener", "Installer", "OrderSum", "printed" };
            string sqlStr = "select * from orders ";
            string[] condition = { };//查询语句条件

            List<string> condition2 = condition.ToList();//数组转列表

            using (SQLiteConnection conn = new SQLiteConnection(dbPath))
            {//连接数据库

                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }

                SQLiteCommand cmd = conn.CreateCommand();

                for (int i = 0; i < paras.Length; i++)
                {//生成查询语句&查询条件

                    if (paras[i] == "")
                    {
                        continue;
                    }

                    condition2.Add(columns[i] + " like @" + columns[i]);
                    cmd.Parameters.Add(new SQLiteParameter("@" + columns[i], "%" + paras[i] + "%"));
                }

                condition = condition2.ToArray();

                if (condition.Length > 0)
                {//有查询条件
                    string result = String.Join(" and ", condition);
                    sqlStr += ("where " + result + ";");
                }

                cmd.CommandText = sqlStr;
                SQLiteDataReader reader = cmd.ExecuteReader();
                int cols = DgvSer.ColumnCount;

                if (reader.HasRows)
                {//显示查询结果

                    while (reader.Read())
                    {//遍历行

                        int index = DgvSer.Rows.Add();

                        for (int i = 0; i < cols - 3; i++)
                        {//遍历列

                            if (i == 0)
                            {//行号
                                DgvSer.Rows[index].Cells[i].Value = (index + 1).ToString();
                            }
                            else
                            {
                                DgvSer.Rows[index].Cells[i].Value = reader.GetValue(i).ToString();
                            }

                        }
                    }
                }

                //关闭数据库连接
                reader.Close();
                conn.Close();
            }
        }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
VisualStudio、.NETFramework、VC++、C#各个版本的对应关系发布时间:2022-07-10
下一篇:
c#类中字段和方法中变量的声明问题发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap