一.说明
紧接上节课的教程,我们新增一个查询功能.上节课内容(ASP.net 连接Mysql,封装查询功能)
二.编写代码
在ToolMysqlData.cs的类里,添加入如下代码:
//有参数查询
public static DataTable getTabel(string sql, Hashtable ht) {
//适配器
MySqlDataAdapter mda = new MySqlDataAdapter(sql, conn);
foreach (DictionaryEntry de in ht)
{
//全部赋值给适配器的Parameters.AddWithValue
mda.SelectCommand.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
}
//数据表,用来存储展现数据
DataTable dt = new DataTable();
//将查询的数据填充到数据表中
mda.Fill(dt);
//各种关闭
dt.Dispose();
mda.Dispose();
conn.Close();
//将其返回
return dt;
}
三.前端代码
我们新建一个web:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm7.aspx.cs" Inherits="MyTest03.WebForm7" %>
<!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">
<div>
姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="查询" />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical" Width="830px">
<AlternatingRowStyle BackColor="White" />
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>
</div>
</form>
</body>
</html>
界面效果:
四.后端代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace MyTest03
{
public partial class WebForm7 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//有参数查询
protected void Button1_Click(object sender, EventArgs e)
{
//提取控件数据
string name=TextBox1.Text.Trim();
//模糊查询
name = "%" + name + "%";
//查询sql
string sql = "SELECT id AS '学号',NAME AS '姓名',(CASE WHEN sex=1 THEN '男' ELSE '女' END) AS '性别' FROM student WHERE NAME like ?names";
//新建Hashtable,并赋值
Hashtable ht = new Hashtable();
ht.Add("names", name);
//调用方法,并将数据传输给GridView1
GridView1.DataSource = ToolMysqlData.getTabel(sql, ht);
GridView1.DataBind();
}
}
}
按钮点击后效果:
五.知识点
- 适配器添加:
//全部赋值给适配器的Parameters.AddWithValue
mda.SelectCommand.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
- 字符串拼接:
//模糊查询
name = "%" + name + "%";
//我们如果在sql语句上直接加%,会导致报错,所以我们只能在传入的值中增加
六.结尾
此文是小白在学习张晨光老师的视频教学<<Asp.Net WEB服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,再次谢谢大家.