ASP.net 连接Mysql,封装查询功能2

一.说明

紧接上节课的教程,我们新增一个查询功能.上节课内容(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>
&nbsp;<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服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,再次谢谢大家.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值