前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET | 从零到一实战分析对后台数据库增加数据、模糊查找、精确查找并展示

ASP.NET | 从零到一实战分析对后台数据库增加数据、模糊查找、精确查找并展示

作者头像
凌川江雪
发布2019-02-25 11:17:55
8480
发布2019-02-25 11:17:55
举报
文章被收录于专栏:李蔚蓬的专栏李蔚蓬的专栏

新建:

新建数据库mydb.mdf、添加表:

更新数据库;

右击数据库,选择属性,复制连接字符串;(这里之前做过了,就简单点过不做细节。点击这里可以看详细步骤截图参考_《用ASP.NET做一个简单的数据流动展示》

到web.config:

注意相对路径|DataDirectory|......

代码语言:javascript
复制
 <connectionStrings>
    <add name="DefaultConnection"
      connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-manages-c703b6e8-d35a-4082-aadf-60f5ad784980;AttachDbFilename=|DataDirectory|\aspnet-manages-c703b6e8-d35a-4082-aadf-60f5ad784980.mdf;Integrated Security=SSPI"
      providerName="System.Data.SqlClient"/>
    <add name ="connstr" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Integrated Security=True"/>
  </connectionStrings>

删除,重建default窗口文件;

设计,插入表:

设计:

顶行合并;

输入文字;

顶行内容居中;

二列添加textbox;

改id:

Name_TextBox

Cate_TextBox

Price_TextBox

Time_TextBox

Address_TextBox

Contact_TextBox

合并末行,加个button,修改text,加个GridView:

新建一个common类:

右击App_Code:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
/// common 的摘要说明
/// </summary>
public class common
{
    public common()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }

    public static SqlConnection myconn()
    {
        string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString();
        SqlConnection myconn = new SqlConnection(connstr);
        return myconn;
    }
}

回来default窗口,双击设计界面里边入库按钮,开始编写逻辑:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        displayDB(); 
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        insertDB();
        displayDB();
    }

    //套路:1.connstr-sqlconn-open打开数据库
    //2.cmdstr-sqlcmd(cmdstr,conn)-cmd.ex执行数据库操作,或者其他;
    //3.关闭
    protected void insertDB()
    {
        SqlConnection myconn = common.myconn();
        myconn.Open();

        double Pricevalue = Convert.ToDouble(Price_TextBox.Text.Trim());
        string cmdstr = @"insert into Tproduct(Fname,Fcategory,Fprice,Ftime,Faddress,Fcontactname)
                values('" + Name_TextBox.Text + "' , '" + Cate_TextBox.Text + "' , " + Pricevalue + " , '" + Time_TextBox.Text + "' , '" + Address_TextBox.Text + "' , '" + Contact_TextBox.Text + "' )";
        SqlCommand mycmd = new SqlCommand(cmdstr,myconn);
        mycmd.ExecuteNonQuery();

        mycmd.Dispose();
        myconn.Close();
        Response.Write("<script>alert('入库成功')</script>");
    }

    protected void displayDB()
    {
        string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString();
        SqlConnection myconn = new SqlConnection(connstr);
        myconn.Open();

        string cmdstr = @"select * from Tproduct";

        SqlDataAdapter myda = new SqlDataAdapter(cmdstr,myconn);//查出

        DataSet myds = new DataSet();//转型
        myda.Fill(myds);

        GridView1.DataSource = myds;//赋能控件
        GridView1.DataKeyNames = new string[] { "id" };
        GridView1.DataBind();

        myda.Dispose();
        myds.Dispose();
        myconn.Close();
    }
}

如图,插入和展示就完成了:

现在增加查找功能:

末行配置多三个控件:

分别添加点击逻辑即可:

代码语言:javascript
复制
    protected void jqFind_Button_Click(object sender, EventArgs e)
    {
        SqlConnection myconn = common.myconn();
        myconn.Open();

        string cmdstr = "select *from Tproduct where Fname='" + Find_TextBox.Text.Trim() + "'";//单引号双引号括起来
        SqlDataAdapter myda = new SqlDataAdapter(cmdstr, myconn);

        DataSet myds = new DataSet();
        myda.Fill(myds);

        int rowNum = myds.Tables[0].Rows.Count;
        int columnNum = myds.Tables[0].Columns.Count;
        DataTable usingTable = myds.Tables[0];

        if (rowNum == 0)
        {
            usingTable = usingTable.Clone();//克隆
            usingTable.Rows.Add(usingTable.NewRow());//加新行
            GridView1.DataSource = usingTable;//赋能

            GridView1.Rows[0].Cells.Clear();//清空
            GridView1.Rows[0].Cells.Add(new TableCell());//加新格
            GridView1.Rows[0].Cells[0].Text = "无相关记录";//text
            GridView1.Rows[0].Cells[0].ColumnSpan = columnNum;
        }
        else
        {
            GridView1.DataSource = myds;
            GridView1.DataBind();
        }

        myds.Dispose();
        myda.Dispose();
        myconn.Close();
    }

    protected void mhFind_Button_Click(object sender, EventArgs e)
    {
        SqlConnection myconn = common.myconn();
        myconn.Open();
        
        string cmdstr = "select *from Tproduct where Fname like '%"+Find_TextBox.Text.Trim()+"%'";

        SqlDataAdapter myda = new SqlDataAdapter(cmdstr, myconn);

        DataSet myds = new DataSet();
        myda.Fill(myds);

        GridView1.DataSource = myds;
        GridView1.DataBind();

        myds.Dispose();
        myda.Dispose();
        myconn.Close();
    }

效果:

精确查找

模糊查找

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档