封转类

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. nyist 596 谁是最好的Coder

    http://acm.nyist.net/JudgeOnline/problem.php?pid=596 谁是最好的Coder 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 ...

  2. 关于vptr指针初始化的分步

    vptr:一个具有虚函数类的对象所具有的隐藏的成员,指向该类的虚函数表. 父类对象的vptr指向是一直指向父类的.但子类的vptr指针最终是指向子类的, 当子类创建的时候,先调用父类构造函数,这个时候 ...

  3. yii框架中应用jquery表单验证插件

    效果图: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  4. Unity中加入Android项目的Build步骤

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Un ...

  5. angular form 验证 ngMessage

    <!DOCTYPE HTML> <html ng-app="deliciousApp"> <head> <meta charset=&qu ...

  6. 【cruch bang】中切换成左手鼠标

    在“右键”菜单->settings->Edit autostart启动的geany编辑器中,最后加内容: xmodmap -e 'pointer = 3 2 1'

  7. microsoft .netframework Available Source Code Components

    http://referencesource.microsoft.com/netframework.aspx http://blogs.msdn.com/b/dotnet/archive/2012/0 ...

  8. viewpager+fragment+HorizontalScrollView

    xml布局 <RelativeLayout        android:id="@+id/rl_column"        android:layout_width=&q ...

  9. Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime

    日期格式的处理总是会很复杂,因为不同的环境日 期格式也不一样.为了程序统一处理,  最好把格式给统一了: 可以在程序的初始化段: FormatSettings.ShortDateFormat := ' ...

  10. oracle 定时备份

    第一步.bat脚本: @echo off echo 删除10天前的备分文件和日志 forfiles /p "z:/back" /m *.dmp /d -10 /c "cm ...