WebForm组合查询
封转类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// Car 的摘要说明
/// </summary>
public class Car
{
public int ids{get;set;}
public string code{get;set;}
public string name{get;set;}
public string brand{get;set;}
public decimal oil{get;set;}
public int powers{get;set;}
public decimal price{get;set;}
}
建立方法
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web; /// <summary>
/// CarData 的摘要说明
/// </summary>
public class CarData
{
SqlConnection conn = null;
SqlCommand cmd = null;
public CarData()
{
conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
/// <summary>
/// 查询所有数据信息
/// </summary>
/// <returns>泛型集合</returns>
public List<Car> Select()
{
List<Car> list = new List<Car>();
cmd.CommandText = "select *from car";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Car c = new Car();
c.ids = Convert.ToInt32(dr[]);
c.code = dr[].ToString();
c.name = dr[].ToString();
c.brand = dr[].ToString();
c.oil = Convert.ToDecimal(dr["oil"]);
c.powers = Convert.ToInt32(dr["powers"]);
c.price = Convert.ToDecimal(dr["price"]);
list.Add(c);
}
}
conn.Close();
return list;
} public List<Car> Select(int PageCount, int PageNumber)
{
List<Car> list = new List<Car>();
cmd.CommandText = "select top " + PageCount + " *from car where ids not in(select top "+(PageCount * (PageNumber - ))+" ids from car)"; conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Car c = new Car();
c.ids = Convert.ToInt32(dr[]);
c.code = dr[].ToString();
c.name = dr[].ToString();
c.brand = dr[].ToString();
c.oil = Convert.ToDecimal(dr["oil"]);
c.powers = Convert.ToInt32(dr["powers"]);
c.price = Convert.ToDecimal(dr["price"]);
list.Add(c);
}
}
conn.Close();
return list;
} /// <summary>
/// 查询符合SQl条件的所有信息
/// </summary>
/// <param name="Tsql">查询条件</param>
/// <param name="hhh">防止字符串注入攻击,把字符串加入哈希表集合中</param>
/// <returns></returns>
public List<Car> Select(string Tsql,Hashtable hhh)
{
List<Car> list = new List<Car>();
cmd.CommandText = Tsql;
cmd.Parameters.Clear();
foreach(string k in hhh.Keys)
{
cmd.Parameters.Add(k, hhh[k]);
} conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Car c = new Car();
c.ids = Convert.ToInt32(dr[]);
c.code = dr[].ToString();
c.name = dr[].ToString();
c.brand = dr[].ToString();
c.oil = Convert.ToDecimal(dr["oil"]);
c.powers = Convert.ToInt32(dr["powers"]);
c.price = Convert.ToDecimal(dr["price"]);
list.Add(c);
}
}
conn.Close();
return list;
} }
页面设置
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
name:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
oil:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
price:<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>>=</asp:ListItem>
<asp:ListItem><=</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="查询" /><br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /><br /> <asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table style="width: 100%; background-color: navy; text-align: center;">
<tr style="color: white;">
<td>ids</td>
<td>code</td>
<td>name</td>
<td>brand</td>
<td>oil</td>
<td>powers</td>
<td>price</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color: white;">
<td><%#Eval("ids") %></td>
<td><%#Eval("code") %></td>
<td><%#Eval("name") %></td>
<td><%#Eval("brand") %></td>
<td><%#Eval("oil") %></td>
<td><%#Eval("powers") %></td>
<td><%#Eval("price") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
方法事件(代码)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = new CarData().Select();
Repeater1.DataBind();
} Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
Hashtable hs = new Hashtable();
int count = ;//中间变量,查看前面是否有查询条件
string Tsql = "select *from car"; if (!String.IsNullOrEmpty(TextBox1.Text.Trim()))
{
Tsql += " where name like @a";
hs.Add("@a", "%" + TextBox1.Text.Trim() + "%");
count++;//如果该条件写入内容,就加1,表示这里有查询条件
} if (!String.IsNullOrEmpty(TextBox2.Text.Trim()))
{
if (count == )//如果前面没有查询条件,就用where
{
Tsql += " where oil = @b";
}
else//如果前面有查询条件,就用and
{
Tsql += " and oil = @b";
}
hs.Add("@b", TextBox2.Text.Trim());
count++;
} if (!String.IsNullOrEmpty(TextBox3.Text.Trim()))
{
if (count == )
{
Tsql += " where price " + DropDownList1.SelectedValue + " @c";
}
else
{
Tsql += " and price " + DropDownList1.SelectedValue + " @c";
}
hs.Add("@c", TextBox3.Text.Trim());
count++;
} Label1.Text = Tsql; Repeater1.DataSource = new CarData().Select(Tsql, hs);//数据源重新指向
Repeater1.DataBind();//数据绑定 }
}
总之:组合查询还是拼接SQl查询语句。
完!!
WebForm组合查询的更多相关文章
- webform组合查询和分页
1.组合查询(1)数据访问类 //参数1:SQL语句 参数2:哈希表public List<Users> chas(string s,Hashtable has) { List<Us ...
- webform 组合查询
界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...
- webform 分页、组合查询综合使用
界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- Webform(分页与组合查询配合使用)
1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...
- webform:分页组合查询
一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...
- Webform(分页、组合查询)
一.分页 1.写查询方法: public List<Student> Select(int PageCount, int PageNumber) {//PageCount为每页显示条数,P ...
- WebForm之Linq组合查询
组合查询 protected void Button1_Click(object sender, EventArgs e) { //默认查询所有,返回的是Table类型,转换成IQueryAble类型 ...
- WebForm 分页与组合查询
1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...
随机推荐
- nyist 597 完数?
http://acm.nyist.net/JudgeOnline/problem.php?pid=597 完数? 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 一个 ...
- Aspose.cell处理Excel
(一)从数据库中读取数据写入Excel中 方法1: 步骤:1.建立一个新的项目,引用动态链接库Aspose.dll 2.见下面的原代码 using System;using System.Collec ...
- 供应商 银行 SQL (转自ITPUB)
在此记录一下自己学习过程.新手,请多多指教,谢谢. 最近客户有需求,找出供应商对应的银行信息,查看了下网上帖子,发现都是从供应商及供应商地点层发起,去查找对应的银行信息,但是,供应商维护银行界面共有四 ...
- 转一篇 adaboost 的好文 AdaBoost简介及训练误差分析
AdaBoost简介及训练误差分析 http://wenku.baidu.com/link?url=y9Q2qjrJr6IShyY5EQEmvkPZmmP4t3HOdHUgMWaIffI9W0uzTr ...
- Oracle PL/SQL中的循环处理(sql for循环)
今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...
- java 网络编程(三)---TCP的基础级示例
下面是TCP java网络编程的基础示例: tcp传输:客户端建立过程的思路:1.创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机2.如果 ...
- How to change Jenkins default folder on Windows?
http://stackoverflow.com/questions/12689139/how-to-change-jenkins-default-folder-on-windows accepted ...
- Angularjs之controller 和filter(四)
Controller组件(http://www.angularjs.cn/A00C) 在AngularJS中,控制器是一个Javascript函数(类型/类),用来增强除了根作用域以外的作用域实例的. ...
- linux设备驱动归纳总结(五):3.操作硬件——IO静态映射【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-83299.html linux设备驱动归纳总结(五):3.操作硬件——IO静态映射 xxxxxxxxx ...
- Linux, Mac下Shell 数组 Array 的修理工
我的测试基本都是在Mac,及Unix环境下测试的,如无特别注明,默认就是Mac 不论你看到这篇随笔是被shell array的奇淫巧技,还是发现shell array就在一对{}里面就可以做那么多勾当 ...