Asp.Net就业课之案例实践第二次课

简介: Asp.Net就业课之案例实践第二次课

一.测试连接是否成功

//String str = "server=(local);database=MyDb;uid=asp;pwd=asp";
            String str = "server=.;database=MyDb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open();
            Response.Write(conn.State);

二.增删改实现

代码实践:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace demo01
{
    public partial class SqlCommandOne : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        //新增
        protected void Button1_Click(object sender, EventArgs e)
        {
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open(); //记得打开;
            //创建命令对象;
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "insert student values(4,'王帅',19,'男',1)";//指定的是cmd的要执行的sql语句
            cmd.Connection = conn;//命令对象与哪个连接对象关联;
            //要执行了;
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
                Response.Write("增加数据成功!");
            else
                Response.Write("增加数据失败!");
            //最后需要关闭连接对象
            conn.Close();
        }
        protected void btnDel_Click(object sender, EventArgs e)
        {
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open(); //记得打开;
            //创建命令对象;
            SqlCommand cmd = new SqlCommand();
            //from可以省略,但是一般不省略;
            cmd.CommandText = "delete  student where stuid=1";//指定的是cmd的要执行的sql语句
            cmd.Connection = conn;//命令对象与哪个连接对象关联;
            //要执行了;
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
                Response.Write("删除数据成功!");
            else
                Response.Write("删除数据失败!");
            //最后需要关闭连接对象
            conn.Close();
        }
        protected void btnEdit_Click(object sender, EventArgs e)
        {
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open(); //记得打开;
            //创建命令对象;
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "update student set deptId=1,stuName='王亚亚' where stuId=3";//指定的是cmd的要执行的sql语句
            cmd.Connection = conn;//命令对象与哪个连接对象关联;
            //要执行了;
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
                Response.Write("修改数据成功!");
            else
                Response.Write("修改数据失败!");
            //最后需要关闭连接对象
            conn.Close();
        }
    }
}

三.参数化的增删改实践

参考代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//引用命名空间;
using System.Data.SqlClient;
namespace demo01
{
    public partial class SqlCommandTwo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            //定义了一个变量,来表示连接数据库的字符串;
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn=new SqlConnection(str);
            conn.Open();
            //命名对象,由conn创建,就不用写连接属性了;
            SqlCommand cmd = conn.CreateCommand();
            //cmd.CommandText = "insert student values(5,'胡鲁瓦',8,'男',1)";
            //cmd.CommandText = "insert student values("+txtStuId.Text+",'胡鲁瓦',8,'男',1)"; 不拼接了
            string gender=RadioButton1.Checked?"男":"女";
            //StringBuilder,追加;
            String sql = string.Format(@"insert student values({0},'{1}',{2},'{3}',{4})",txtStuId.Text,txtStuName.Text,txtAge.Text,gender,txtDeptID.Text);
            cmd.CommandText = sql;
            //执行
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
                Response.Write("成功");
            else
                Response.Write("失败");
            //关闭
            conn.Close();
        }
        protected void btnEdit_Click(object sender, EventArgs e)
        {
            //定义了一个变量,来表示连接数据库的字符串;
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open();
            //命名对象,由conn创建,就不用写连接属性了;
            SqlCommand cmd = conn.CreateCommand();
            //获取数据;
            string gender = RadioButton1.Checked ? "男" : "女";
            //**************************SqlCommand的参数化设置,比较流行;
            //sql语句的变化 
            String sql = "update student set stuName=@stuName,age=@age,gender=@gender,deptid=@deptId where stuId=@stuId";
            //@stuId等,是动态参数;需要我们给它赋值;
            cmd.CommandText = sql;
            //SqlCommand,有参数化的属性;
            //Add("动态参数",值);
            cmd.Parameters.Add("@stuId",txtStuId.Text.Trim());
            cmd.Parameters.Add("@stuName", txtStuName.Text.Trim());
            cmd.Parameters.Add("@age", txtAge.Text);
            cmd.Parameters.Add("@gender", gender);
            cmd.Parameters.Add("@deptId", txtDeptID.Text.Trim());
            //**************************
            //执行
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
                Response.Write("成功");
            else
                Response.Write("失败");
            //关闭
            conn.Close();
        }
    }
}

四.聚合函数查询

参考代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace demo01
{
    public partial class selectOne : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnSelectAll_Click(object sender, EventArgs e)
        {
            //定义了一个变量,来表示连接数据库的字符串;
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open();
            //命名对象,由conn创建,就不用写连接属性了;
            SqlCommand cmd = conn.CreateCommand();
            //查看总条数的命令语句
            //string sql = "select count(*) from student";
            string sql = "select MIN(age),max(age) from student";
            cmd.CommandText = sql;
            //执行查询只能得到第一行,一列的值;返回类型:object-->int            
            //int num = Convert.ToInt32(cmd.ExecuteScalar());
            //int num = (int)cmd.ExecuteScalar();
            string num = (String)cmd.ExecuteScalar();
            Response.Write("最小年龄:" + num);
        }
    }
}

五.查询所有学生信息显示到页面

参考代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Text;  //扩充
namespace demo01
{
    public partial class selectTwo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnSelect_Click(object sender, EventArgs e)
        {
            //定义了一个变量,来表示连接数据库的字符串;
            string str = "server=.;database=mydb;uid=asp;pwd=asp";
            SqlConnection conn = new SqlConnection(str);
            conn.Open();
            string sql = "select * from student";
            //命令对象;
            SqlCommand cmd = new SqlCommand(sql, conn);
            //查询,查询完毕之后要存放到某个地方;数据集对象,包含若干  数据表对象;
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            DataSet ds = new DataSet();
            sda.Fill(ds, "student");
            DataTable dt=ds.Tables[0];  //获取第一个数据表对象
            //这时候就填充过去了;
            //查看一下列名;
            for (int i = 0; i < dt.Columns.Count; i++) {
                Response.Write(dt.Columns[i].ColumnName+" ");
            }
            Response.Write("<br/>");
            //最终想要的是数据
            for (int i = 0; i < dt.Rows.Count; i++) {
                //老的方式,参考教材;
                //最新方式
                StringBuilder sb = new StringBuilder();
                sb.Append(dt.Rows[i]["stuId"].ToString()+" ");
                sb.Append(dt.Rows[i]["stuName"].ToString() + " ");
                sb.Append(dt.Rows[i]["age"].ToString() + " ");
                sb.Append(dt.Rows[i]["gender"].ToString() + " ");
                sb.Append(dt.Rows[i]["deptId"].ToString() + "<br/>");
                Response.Write(sb.ToString());
            }
            //关闭
            conn.Close();
        }
    }
}


目录
相关文章
|
6月前
mvc.net分页查询案例——实体层(HouseModel.cs)
mvc.net分页查询案例——实体层(HouseModel.cs)
|
6月前
mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
|
3月前
|
人工智能 开发框架 .NET
如何掌握.NET技术,引领开发前沿:.NET技术的核心能力、在现代开发中的应用实践、以及如何通过.NET技术实现持续创新。
.NET技术已成为软件开发不可或缺的部分,本文分三部分探讨:核心能力如多语言支持、统一运行时环境、丰富的类库及跨平台能力;现代开发实践包括企业级应用、Web与移动开发、云服务及游戏开发;并通过性能优化、容器化、AI集成等方面实现持续创新,使开发者站在技术前沿。
68 3
|
1月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
56 3
|
1月前
|
数据采集
爬虫案例—爬取ChinaUnix.net论坛板块标题
爬虫案例—爬取ChinaUnix.net论坛板块标题
爬虫案例—爬取ChinaUnix.net论坛板块标题
|
1月前
|
开发框架 缓存 算法
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
|
1月前
|
Cloud Native API C#
.NET云原生应用实践(一):从搭建项目框架结构开始
.NET云原生应用实践(一):从搭建项目框架结构开始
|
3月前
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
51 8
|
3月前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
77 0
|
3月前
|
人工智能 前端开发 开发工具
NET在企业级应用、Web开发、移动应用、云服务及游戏领域的创新实践
.NET技术自2000年推出以来,在软件开发领域扮演着关键角色。本文从核心优势出发,探讨其统一多语言平台、强大工具集、跨平台能力及丰富生态系统的价值;随后介绍.NET在企业级应用、Web开发、移动应用、云服务及游戏领域的创新实践;最后分析性能优化、容器化、AI集成等方面的挑战与机遇,展望.NET技术的未来发展与潜力。
64 2
下一篇
无影云桌面