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> ...
随机推荐
- paper 81:HDR成像技术
什么是HDR?谈HDR照片的制作方法和效果 HDR,是英文High-Dynamic Range的缩写,意为“高动态范围”.这是一个简单的术语,HDR照片是使用多张不同曝光的图片,然后再用软件将其叠加合 ...
- CSS3 Transform Matrix
css3中的transform让我们操作变形变得很简单,诸如,translate–移动,scale–缩放,rotate–旋转,skew–斜切.这几个属性很方便,也很简单,但是其中matrix我们就不常 ...
- 夺命雷公狗---node.js---16之项目的构建在node+express+mongo的博客项目1
废话不多说我们直接开工... 直接在目录下打开黑窗口: 然后就开始看看我们创建出来的文件了: 然后就开始创建项目下的目录了: 从这里就可以清晰的看得到我们的目录都是以前后台来分离开来的,引入模版也很简 ...
- owner window 和 parent window 有什么区别?
1.Pop-up窗口: 一个弹出窗口是必须具有WS_POPUP属性的窗口,弹出窗口只能是一个Top-Level窗口,不能是子窗口,弹出窗口多用于对话框和消 ...
- :eq(index)
匹配一个给定索引值的元素 从 0 开始计数 查找第二行 HTML 代码: <table> <tr><td>Header 1</td></tr> ...
- 理解逐次逼近寄存器型ADC:与其它类型ADC的架构对比【转】
转自:http://bbs.dzsc.com/space/viewspacepost.aspx?postid=86760 摘要:逐次逼近寄存器型(SAR)模数转换器(ADC)占据着大部分的中等至高分辨 ...
- java中IO流操作的标准异常类
package 加入异常处理的字节流操作; import java.io.FileNotFoundException; import java.io.FileOutputStream; import ...
- Valid Anagram
class Solution { public: bool isAnagram(string s, string t) { if(t=="") return s=="&q ...
- MEANIO
sudo npm install -g bower sudo npm install -g meanio sudo bower cache clean --allow-root sudo mean i ...
- 关于ADO.NET@SQL Server&SqlDataReader
先说基础的,说基础的明白了再深的也是一样的.SQL是关系型数据库,所以就决定了对其操作的时候ADO的一些类要相互联系,Connection 类Command对象(ExecuteReader()方法.E ...