20140911 关于多条件查询

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace 多条件查询
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
bands();
}

private void bands()
{
string sql = "select CId, CName, CDesc from TClass";
DataTable dt = SqlHelPer.Gettable(sql);
dataGridView1.DataSource = dt;
}

private void btncha_Click(object sender, EventArgs e)
{
string sql = "select CId, CName, CDesc from TClass where 1=1";
List<SqlParameter> list = new List<SqlParameter>();
if (!string.IsNullOrEmpty(txtname.Text))
{
sql += " and CName like @CName";
list.Add(new SqlParameter("@CName","%"+txtname.Text+"%"));
}
if (!string.IsNullOrEmpty(txtinfo.Text))
{
sql += " and CDesc like @CDesc";
list.Add(new SqlParameter("@CDesc","%"+ txtinfo.Text+"%"));
}
SqlDataReader dr = SqlHelPer.ExecuteReader(sql,list.ToArray());
List<Class> listn = new List<Class>();
if (dr.HasRows)
{
while (dr.Read())
{
Class c = new Class();
c.CDesc = dr["CDesc"].ToString();
c.CName=dr["CName"].ToString();
c.CId=Convert.ToInt32(dr["CId"]);
listn.Add(c);
}
}
dataGridView1.DataSource = listn;

}
}
}

像这种只能一步步往下查询  在第一次查询时  多列的模糊查询  我使用了 or  但是这个拼接的字符串太大了   (列名有10个)

今天学习的有  dataset  sqlhelper封装的四个方法  资源管理器 还有 以上的多条件查询

通过几天的ADO 学习,渐渐开始明白了实体类的作用   ,每一张表对应的就是一个实体类

第一次感觉学习如此充实 生活充满压力,虽然我刚刚迈向这个门槛,但是我能坚持!

菜鸟一枚,正努力学习 !

资源管理器

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace 资源管理器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//获得跟元素
List<Category> list= Getid(-1);
//将跟元素添加到跟节点
loadnodes(list, tv.Nodes);

}

private void loadnodes(List<Category> list, TreeNodeCollection tnc)
{
foreach (Category item in list)
{
TreeNode tn= tnc.Add(item.TName);
tn.Tag = item.TId;
//遍历里面所有的信息 递归
loadnodes(Getid(item.TId),tn.Nodes);

}
}

private List<Category> Getid(int p)
{
List<Category> list = new List<Category>();
string sql = "select tId,tName from Category where tParentId="+p;
SqlDataReader dr = SqlHelPer.ExecuteReader(sql);

Category cat = null;
if (dr.HasRows)
{
while (dr.Read())
{
cat = new Category();
cat.TId = Convert.ToInt32(dr["tId"]);
cat.TName = dr["tName"].ToString();
// cat.TParentId = Convert.ToInt32(dr["tParentId"]);
list.Add(cat);
}
}
return list;
}

private void tv_AfterSelect(object sender, TreeViewEventArgs e)
{
//MessageBox.Show(tv.SelectedNode.Tag.ToString());
if (tv.SelectedNode.Tag!=null) //拿到刚刚在上面存的tID
{
int id = Convert.ToInt32(tv.SelectedNode.Tag);
Getbyid(id);

}
}

private void Getbyid(int id)
{
List<ContentInfo> list=new List<ContentInfo>();
string sql = "select dId, dTId, dName, dContent from ContentInfo where dTId=" + id;
SqlDataReader dr = SqlHelPer.ExecuteReader(sql);
if (dr.HasRows)
{
while (dr.Read())
{
ContentInfo cn = new ContentInfo();
// cn.DContent=dr["dContent"].ToString();
cn.DId=Convert.ToInt32(dr["dId"]);
cn.DName=dr["dName"].ToString();
list.Add(cn);
}
}
listBox1.DataSource = list;
listBox1.DisplayMember = "dName";
listBox1.ValueMember = "dId";

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count>0)
{
// MessageBox.Show(listBox1.SelectedValue.ToString());
string id = listBox1.SelectedValue.ToString();

string sql = "select dContent from ContentInfo where dId= "+id;
SqlDataReader dr = SqlHelPer.ExecuteReader(sql);
ContentInfo cn = new ContentInfo();
if (dr.HasRows)
{
while (dr.Read())
{

cn.DContent = dr["DContent"].ToString();
}
textBox1.Text = cn.DContent;
}
}
}
}
}

这个因为我刚学  还是有点不之其所以然   唉  人有点笨  只能靠勤奋弥补了!

时间: 2024-11-03 22:16:25

20140911 关于多条件查询的相关文章

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l

php 多条件查询 例子

<hl>表单的多条件查询</h1> <form action="这个表.php" method="post"> <div> 请输入查询的名字:<input type="text" name="name" /> 请输入查询址性别:<input type="text" name="sex" /> <input ty

Django-rest-framework多条件查询/分页/多表Json

Django-rest-framework多条件查询/分页/多表Json django-rest-framework多条件查询需要覆写ListAPIView.get_queryset方法,代码示例: def get_queryset(self):     """     使用request.query_params实现多条件查询,也可以使用django filter ,较简单的     方法是在filter_fields中指定要过滤的字段,但只能表示等值,不灵活,灵活的方式是

基于Solr的HBase多条件查询测试

转自:http://www.cnblogs.com/chenz/articles/3229997.html 背景: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询.HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力.针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证. 原理: 基于Solr的HBase多条件查询原理很简单,将HBas

PHP 多条件查询之简单租房系统

注:这里只展示多条件查询页面,其余的增删该页面略过 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ht

关键字查询和多条件查询

0616DBDA.class.php 代码 <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/16 * Time: 11:23 */ class DBDA { public $host="localhost";//服务器地址 public $uid="root" ;//用户名 public $pwd="";//密码 public $dbconnect;

PHP-----多条件查询

在开发网页时,用谷歌和火狐浏览器,会比较好.IE浏览器不是太好用. 多条件查询 拿汽车表car,来做例子. 先把car表查出来,用表格来显示,在加一些查询的条件进去. 第一步:把car表查出来,用表格来显示 <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td

2016/3/13 七种查询 (普通查询 条件查询 排序查询 模糊查询 统计查询 分组查询 分页查询 )

一句话概括的话,SQL作为结构化查询语言,是标准的关系型数据库通用的标准语言: T-SQL 是在SQL基础上扩展的SQL Server中使用的语言 1,普通查询 #查询Info表中的所有列 select * from Info #查询Info表中的Name和Code列 select Name,Code from Info 2,条件查询 关键字where #查询Info表的左右列 限定范围 列名为p001 select * from Info where 列名="p001" #查询条件之

ThinkPHP中 按条件查询后列表显示

最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign()来实现控制器数据向页面的传递,在页面中通过<foreach>或<volist>标签来进行数据的解析,(注:在通过标签进行数据的解析时需要以“$”符号的形式). 在进行条件查询时,需要通过jquery中ajax的方式将条件GET到后台控制器,后台控制器中接收数据,然后根据条件进行查询