封转类

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>&nbsp;
oil:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>&nbsp;
price:<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>&gt;=</asp:ListItem>
<asp:ListItem>&lt;=</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>&nbsp;
<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组合查询的更多相关文章

  1. webform组合查询和分页

    1.组合查询(1)数据访问类 //参数1:SQL语句 参数2:哈希表public List<Users> chas(string s,Hashtable has) { List<Us ...

  2. webform 组合查询

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  3. webform 分页、组合查询综合使用

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  4. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  5. Webform(分页与组合查询配合使用)

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  6. webform:分页组合查询

    一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...

  7. Webform(分页、组合查询)

    一.分页 1.写查询方法: public List<Student> Select(int PageCount, int PageNumber) {//PageCount为每页显示条数,P ...

  8. WebForm之Linq组合查询

    组合查询 protected void Button1_Click(object sender, EventArgs e) { //默认查询所有,返回的是Table类型,转换成IQueryAble类型 ...

  9. WebForm 分页与组合查询

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

随机推荐

  1. 批量文本读取URL获取正常访问且保留对应IP

    #coding=utf-8 import sys import requests for i in range(3000,4999,1): url = 'http://192.168.88.139:8 ...

  2. android ANR问题

    一.什么是ANR ANR:Application Not Responding: 具体请参考:http://blog.csdn.net/dadoneo/article/details/8270107

  3. scala2.10.x case classes cannot have more than 22 parameters

    问题 这个错误出现在case class参数超出22个的时候. case classes cannot have more than 22 parameters 在scala 2.11.x版本以下时c ...

  4. FM000

    SQL> select To_char(1,'000') from dual; TO_C----001 注意最左边有一个空格 SQL> select To_char(1,'FM000') ...

  5. 词频统计-------------web版本

    要求:把程序迁移到web平台,通过用户上传TXT的方式接收文件.建议(但不强制要求)保留并维护Console版本,有利于测试. 在页面上设置上传的控件,然后在servlet中接受,得到的是一个字节流, ...

  6. 编译php时的一个脚本

    ./configure --prefix=/usr/local/php \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext ...

  7. 在centos中编译putty时提示找不到gtk库的解决办法

    明明已经安过gtk了, 后来在csdn上发现了前人的解决办法 yum install libgnomeui-devel 现在编译出来的putty就可以有图形界面了

  8. windows下nginx和php环境的配置

    至于php的配置,与之前博文中使用apache服务器时一样. 对于nginx的配置,来看看如何修改配置文件: #user nobody; worker_processes ; #error_log l ...

  9. zw版【转发·台湾nvp系列Delphi例程】HALCON SetLineStyle2

    zw版[转发·台湾nvp系列Delphi例程]HALCON SetLineStyle2 procedure TForm1.Button1Click(Sender: TObject);var img : ...

  10. 【海岛帝国系列赛】No.3 海岛帝国:运输资源

    海岛帝国:运输资源 [试题描述] YSF考虑到“药师傅”帝国现在资源极度不平均,于是,商讨启用南水北调工程.YZM为首席工程师.现在,YSF由于工作紧张,准备军用物资和民用物资.但他要时时关注运输工程 ...