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> ...
随机推荐
- 批量文本读取URL获取正常访问且保留对应IP
#coding=utf-8 import sys import requests for i in range(3000,4999,1): url = 'http://192.168.88.139:8 ...
- android ANR问题
一.什么是ANR ANR:Application Not Responding: 具体请参考:http://blog.csdn.net/dadoneo/article/details/8270107
- 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 ...
- FM000
SQL> select To_char(1,'000') from dual; TO_C----001 注意最左边有一个空格 SQL> select To_char(1,'FM000') ...
- 词频统计-------------web版本
要求:把程序迁移到web平台,通过用户上传TXT的方式接收文件.建议(但不强制要求)保留并维护Console版本,有利于测试. 在页面上设置上传的控件,然后在servlet中接受,得到的是一个字节流, ...
- 编译php时的一个脚本
./configure --prefix=/usr/local/php \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext ...
- 在centos中编译putty时提示找不到gtk库的解决办法
明明已经安过gtk了, 后来在csdn上发现了前人的解决办法 yum install libgnomeui-devel 现在编译出来的putty就可以有图形界面了
- windows下nginx和php环境的配置
至于php的配置,与之前博文中使用apache服务器时一样. 对于nginx的配置,来看看如何修改配置文件: #user nobody; worker_processes ; #error_log l ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON SetLineStyle2
zw版[转发·台湾nvp系列Delphi例程]HALCON SetLineStyle2 procedure TForm1.Button1Click(Sender: TObject);var img : ...
- 【海岛帝国系列赛】No.3 海岛帝国:运输资源
海岛帝国:运输资源 [试题描述] YSF考虑到“药师傅”帝国现在资源极度不平均,于是,商讨启用南水北调工程.YZM为首席工程师.现在,YSF由于工作紧张,准备军用物资和民用物资.但他要时时关注运输工程 ...