ASP.Net实现汽车添加查询(三层架构,含照片)

演示功能:

点击启动生成页面

 点击搜索模糊查询

点击添加跳转新界面

 此处设置文本框多行

点击Button添加

步骤:

1、建文件

下图是三层架构列表,Models里面有模拟数据库中列的类,DAL中有DBHelper和service,BLL中有BllManager文件用于ui界面直接调用

建照片文件图片,数据夹用于展示库存地址 

2、添加引用关系

DAL引用Models文件,BLL引用DAL和Models文件,主文件WebApplication1引用Bll和Models

3、根据数据库中的列写Models下的XueshengModels类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
   public  class ModelsCarInfo
   {
       private string infoID;

       public string InfoID
       {
           get { return infoID; }
           set { infoID = value; }
       }
       private string infoTitle;

       public string InfoTitle
       {
           get { return infoTitle; }
           set { infoTitle = value; }
       }
       private string infoPic;

       public string InfoPic
       {
           get { return infoPic; }
           set { infoPic = value; }
       }
       private string carPrice;

       public string CarPrice
       {
           get { return carPrice; }
           set { carPrice = value; }
       }
       private string pubTime;

       public string PubTime
       {
           get { return pubTime; }
           set { pubTime = value; }
       }


    }
}

4、DAL下的DBHelper(对数据库进行操作)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
  public   class DBHelper
    {
      public static string connstr = "server=.;database=CarDB;uid=sa;pwd=123123";
      public static SqlConnection conn = null;
      public static void Connect() {
          if (conn==null)
          {
              conn = new SqlConnection(connstr);
              
          }
          conn.Close();
          conn.Open();

      }
      public static bool NoQuery(string sql) {
          Connect();
          SqlCommand cmd = new SqlCommand(sql,conn);
         int temp= cmd.ExecuteNonQuery();
         return temp > 0;
      }
      public static SqlDataReader Reader(string sql){
          Connect();
          SqlCommand cmd = new SqlCommand(sql, conn);
          return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
      }
    }
}

5、DAL数据访问层下的service文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
   public  class DalService
    {
       public static List<Models.ModelsCarInfo> Query()
       {
           string cha = "select * from CarInfo";
           List<Models.ModelsCarInfo> list = new List<Models.ModelsCarInfo>();
          SqlDataReader read=  DBHelper.Reader(cha);
           while (read.Read())
           {
               Models.ModelsCarInfo model = new Models.ModelsCarInfo();
               model.InfoID = read["InfoID"].ToString();
               model.InfoPic = read["InfoPic"].ToString();
               model.InfoTitle = read["InfoTitle"].ToString();
               model.PubTime = read["PubTime"].ToString();
               model.CarPrice = read["CarPrice"].ToString();
               list.Add(model);
           } ;
           return list;

       }
       public static bool Tianjia(string title,string price) {
           string sql = string.Format("insert CarInfo values('{0}','Desert.jpg',{1},GETDATE())",title,price);
           if ( DBHelper.NoQuery(sql))
           {
               return true;
           }
           else
           {
               return false;
           };
       
       
       }
       public static List<Models.ModelsCarInfo> Sou(string title)
       {
           string cha = string.Format("select * from CarInfo where InfoTitle like '%{0}%'", title);
           List<Models.ModelsCarInfo> list = new List<Models.ModelsCarInfo>();
           SqlDataReader read = DBHelper.Reader(cha);
           while (read.Read())
           {
               Models.ModelsCarInfo model = new Models.ModelsCarInfo();
               model.InfoID = read["InfoID"].ToString();
               model.InfoPic = read["InfoPic"].ToString();
               model.InfoTitle = read["InfoTitle"].ToString();
               model.PubTime = read["PubTime"].ToString();
               model.CarPrice = read["CarPrice"].ToString();
               list.Add(model);
           };
           return list;

       }
    }
}

6、BLL业务逻辑层下调用DAL的文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL
{
   public  class BLLManager
    {
       public static List<Models.ModelsCarInfo> Query() {
           return DAL.DalService.Query();
       }
       public static bool Tianjia(string title, string price) {
           return DAL.DalService.Tianjia(title, price);
       }
       public static List<Models.ModelsCarInfo> Sou(string title) {
           return DAL.DalService.Sou(title);
       }
    }
}

7、ui表现层主界面前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Index.WebForm1" %>

<!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>
       <a href="Tianjia.aspx">添加汽车</a><asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="Label1" runat="server" Text="搜索"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="搜索" OnClick="Button1_Click" />
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table border="1">
                    <tr>
                        <th>
                            ID
                        </th>
                        <th>
                            标题
                        </th>
                        <th>
                            图片
                        </th>
                        <th>
                            价格
                        </th>
                        <th>
                            时间
                        </th>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%#Eval("InfoID")%>
                    </td>
                    <td>
                        <%#Eval("InfoTitle")%>
                    </td>
                    <td>
                       <img height="50px" width="50px" src="Img/<%#Eval("InfoPic")%>"/>
                    </td>
                    <td>
                        <%#Eval("CarPrice")%>
                    </td>
                    <td>
                        <%#Eval("PubTime")%>
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
</table>
            </FooterTemplate>

        </asp:Repeater>
    </div>
    </form>
</body>
</html>

                    <tr>
                         <th>
                             新闻ID
                         </th>
                         <th>
                             新闻标题	
                         </th> <th>
                            新闻内容	
                         </th> 
                        <th>
                            新闻照片
                         </th><th>
                             新闻类型	
                         </th> <th>
                            发布人
                         </th> <th>
                            发布时间
                         </th>
                    
                    </tr>
                   
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td >
                        <%#Eval("NewsID") %>
                    </td>
                    <td >
                        <%#Eval("NewsTitle") %>                      
                    </td>
                    <td >                     
                        <%#Eval("NewsContent") %>                     
                    </td>
                    <td >                        
                        <img src="Img/<%#Eval("Pian") %>" height="50px" width="50px"/>                      
                    </td>
                    <td>
                        <%#Eval("Type") %>  
                    </td>
                    <td >                      
                        <%#Eval("Publisher") %>                       
                    </td>                    
                    <td >
                          <%#Eval("PubTime") %>
                      
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>

8、ui表现层主界面后端部分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Index
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<Models.ModelsCarInfo> list = BLL.BLLManager.Query();
                this.Repeater1.DataSource = list;
                this.Repeater1.DataBind();
                Label2.Text = list.Count.ToString();
            
            }
               
            
       

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            List<Models.ModelsCarInfo> list = BLL.BLLManager.Sou(TextBox1.Text.ToString());
            this.Repeater1.DataSource = list;
            this.Repeater1.DataBind();
        }
    }
}

9、ui表现层添加界面前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Tianjia.aspx.cs" Inherits="Index.Tianjia" %>

<!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>
    <a href="WebForm1.aspx">返回</a> 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      <br />  <asp:Label ID="Label1" runat="server" Text=" 标题"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="标题不能为空" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
 <br /> <asp:Label ID="Label2" runat="server" Text="价格"></asp:Label><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="价格不能为空" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
    <br />     <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
         </div>
    </form>
</body>
</html>

10、ui表现层添加界面后端部分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Index
{
    public partial class Tianjia : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (BLL.BLLManager.Tianjia(TextBox1.Text.ToString(), TextBox2.Text.ToString()))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "success", "alert('成功了!');location.href='WebForm1.aspx'", true);
            }
            else
            {
                ClientScript.RegisterStartupScript(this.GetType(), "fail", "alert('失败!');", true);

            };
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275659.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础系列】body参数前后端不一致

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

进程

进程 进程的概念、组成与特征进程的状态与转换进程控制进程通信 进程的概念、组成与特征 程序是静态的&#xff0c;是一个存放在磁盘里的可执行文件&#xff0c;是一系列的指令集合。 进程是动态的&#xff0c;是程序的一次执行过程&#xff0c;同一个程序多次执行会对应多个进…

NFC物联网智能锁安全测试研究

针对短距离无线通信在物联网智能锁实际运用中的安全机制问题&#xff0c;通过理论分析和实际操作演示潜在的攻击流程&#xff0c;发现其存在的安全漏洞并提出可行的加固方法&#xff0c;并对加固后的通信系统进行CPN建模与安全性分析&#xff0c;对无线通信协议的安全性能提升、…

哥斯拉木马解析 + bypass 免杀代码分析+回调webshell

目录 抓包分析 测试连接 第一个包 第二个包 第三个包 进入控制台 第三个包 请求 返回 木马的解析 第一次链接 第二次链接 payload集合 run reDefSystemFunc() 自写免杀 通过文件名 构造字符 通过请求头实现 php7.3 php5.2 PHP5.3 PHP 7.0.0 这里也是跟着大…

ctf_show(web入门笔记)持续更新中

信息收集 1-2&#xff1a;查看源代码 3&#xff1a;bp抓包 4&#xff1a;robots.txt&#xff08;这个文件里会写有网站管理者不想让爬虫的页面或其他&#xff09; 5&#xff1a;网站源代码泄露index.phps 6&#xff1a;同样也是源码泄露&#xff0c;&#xff08;拿到以后还…

JMeter4.0接口测试之案例实战

在前面的知识体系中介绍了Jmeter的基本应用&#xff0c;下来通过具体的案例来看Jmeter在接口测试中的具体案例实战部分。 HTTP是基于应用层的协议&#xff0c;底层的网络传输层它不需要去关心&#xff0c;同时它是一个无状态的协议&#xff0c;它的请求流程具体可以总结为&…

【基础篇】一、认识JVM

文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的三大功能6、JVM的分类7、JVM的生命周期 1、虚拟机 虚拟机&#xff0c;Virtual Machine&#xff0c;一台虚拟的计算机&#xff0c;用来执行虚拟计算机指令。分为&#xff1a; 系统虚拟机&#x…

Visual Studio使用——自定义代码片段 像使用IDEA一样能快捷输入

目录 引出Visual Studio使用自定义代码片段 Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 总结 引出 Visual Studio使用——自定义代码片段 & 像使…

字节跳动 MapReduce - Spark 平滑迁移实践

摘要&#xff1a;本文整理自字节跳动基础架构工程师魏中佳在本次 CommunityOverCode Asia 2023 中的《字节跳动 MapReduce - Spark 平滑迁移实践》主题演讲。 随着字节业务的发展&#xff0c;公司内部每天线上约运行 100万 Spark 作业&#xff0c;与之相对比的是&#xff0c;线…

Python可视化之Matplotlib

文章目录 Matplotlib与可视化分析简单图形的绘制pylot的高级功能添加图例与注释 Matplotlib与可视化分析 我们之前对数据的处理与分析&#xff0c;其实最终还是要利用可视化工具进行更加直观的输出 我们开业通过 pip install matplotlib命令来安装对应的模块 简单图形的绘制…

带你从数据手册了解CAN 电平参数

CAN终端电阻功率应该选多大&#xff1f; can的中断电阻大家都知道是120R&#xff1b; 这个电阻功率应该选多大呢&#xff1f; 晚上有说0603 封装的&#xff0c;有说0805封装的&#xff0c;有说1206封装的。。。。 那到底该选多少&#xff1f; P U*U/R&#xff1b; 只要知…

C++ DAY1 作业

1.定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;并实现求字符串长度 #include <iostream>using namespace std; namespace myspace {string str;int length_fun(){getline(cin,str);int i 0;while(str[i] ! \0){i;}return i;}} using…

Mathematica中的有理数与浮点数

在Mathematica中如果使用了小数&#xff0c;软件会按照浮点数计算&#xff0c;从而导致不准确的结果。 例如下面的例子&#xff0c;计算下面两个相同式子的拉氏反变换得到的结果会不同&#xff1a; 代码如下 InverseLaplaceTransform[323/(56182 p 323 p^2 1000 p^3), p, t…

基于DS1302的日历时钟

#include<reg51.h> //包含单片机寄存器的头文件 #include<intrins.h> //包含_nop_()函数定义的头文件 /*********************************************************************** 以下是DS1302芯片的操作程序 *******************************************…

记录使用minikube部署web程序,并灰度发布不同版本

1. 安装软件 1.1安装docker desktop 下载地址 重点&#xff1a;配置镜像加速 1.2 安装k8s&minikube 这里参考阿里社区的配置 minikube1.24.0版本下载地址 重点&#xff1a;安装版本问题【因为后面要用阿里云的服务来获取所需Docker镜像&#xff0c;一直不成功使用的高版…

牛客网SQL训练5—SQL大厂真题面试

文章目录 一、某音短视频1.各个视频的平均完播率2.平均播放进度大于60%的视频类别3.每类视频近一个月的转发量/率4.每个创作者每月的涨粉率及截止当前的总粉丝量5.国庆期间每类视频点赞量和转发量6.近一个月发布的视频中热度最高的top3视频 二、用户增长场景&#xff08;某度信…

mysql原理--MySQL基于规则的优化

设计 MySQL 的大叔依据一些规则&#xff0c;竭尽全力的把一些很糟糕的语句转换成某种可以比较高效执行的形式&#xff0c;这个过程也可以被称作 查询重写 &#xff08;就是人家觉得你写的语句不好&#xff0c;自己再重写一遍&#xff09;。 1.条件化简 我们编写的查询语句的搜…

子类能继承父类的那些内容

子类能继承父类的那些内容 子类不能继承父类的构造方法。 package oop.Extends.a02oopextendsdemo02; public class Test {public static void main(String[] args) {}class Fu{String name;int age;public Fu() {}public Fu(String name, int age) {this.name name;this.ag…

C语言之字符串处理

目录 字符串长度 显示字符串 数字字符的出现次数 大小写字符转换 字符串数组的参数传递 非字符串的字符数组 目前我们所学习到的是围绕字符串的处理&#xff0c;仅仅是生成字符串、读取并显示字符串&#xff0c;下面我学习更加灵活处理字符串的方式。 字符串长度 我们来看…

基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现

基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现前言介绍&#xff1a;系统设计&#xff1a;系统开发流程用户登录流程系统操作流程 功能…