C#实际案例学习

 

VS2019正式版企业版注册码序列码密钥:

Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF

Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

案例参考学习:

C#实际案例分析(最终弹)——By 流星

 Asp.Net Core Web网站应用-C#介绍 - 简书

SQL语句命令汇总_yunlin2000的博客-CSDN博客

基于Asp.Net Core进行网页编程,从数据库中读取学生看书的数据,并展示到网页中。要求先展示列表,然后点击具体项目,进行展示。可进行一定的数据汇总。

题意分析

俗话说,题目越短越困难。还是像以往一样,我们把要求拆解来看,具体有以下几个要求:

    ①基于Asp.Net Core进行网页开发
    ②从数据库中读取数据
    ③将数据展示到网页中
    ④先展示列表,然后点击具体项目进行展示
    ⑤可进行一定的数据汇总

开发环境:

完整版安装MySqlmysql-installer-community-8.0.29.0:Vs2017安装MySql数据库_yunlin2000的博客-CSDN博客

完整代码

后端代码(Exercise_web\Program.cs):建立数据库并写入数据

using System;
using MySql.Data.MySqlClient;

namespace Exercise_web
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //准备被写入的数据(也可通过控制台让用户自行输入)
            string[] number = { "2938", "0001", "0002", "0003", "2938", "6666", "0001", "0003", "0003", "2938" };
            string[] student = { "流星", "杨小刚", "李小芳", "赵小明", "流星", "赖永炫(老师新年快乐!)", "杨小刚", "赵小明", "赵小明", "流星" };
            string[] sex = { "男", "男", "女", "女", "男", "男", "男", "女", "女", "男" };
            string[] birth = { "2002.2.20", "2002.12.20", "2002.7.16","2002.1.5","2002.2.20","~","2002.12.20","2002.1.5","2002.1.5","2002.2.20" };
            string[] book = {"数据库系统原理与算法","数据结构与算法","概率论与数理统计","离散数学","C#程序设计教程","Taxi Demand Prediction with LSTM-based Combination Model.","汇编语言程序设计","C#程序设计教程","计算机网络与因特网","Unity3D游戏开发实战" };
            //开始操作数据库
            string connetStr = "server = 127.0.0.1; user id = root; password=zzaaqq; database = library;";
            //server=127.0.0.1/localhost 代表本机,端口号port默认是3306可以不写
            MySqlConnection connect = new MySqlConnection(connetStr);
            try  //CRUD
            {
                connect.Open();

                //connect.Open();    //打开通道,建立连接
                string cmd = "";
                MySqlCommand mycmd = new MySqlCommand(cmd, connect);
                //清空(测试时使用)
                cmd = "delete from studentdata";
                mycmd.CommandText = cmd;
                mycmd.ExecuteNonQuery();
                //建表
                cmd = @"create table if not exists studentdata
                        (
                                                    number char(4),
                                                    student char(20),
                                                    sex char(3),
                                                    birth char(10),
                                                    book char(120)
                        )";
                mycmd.CommandText = cmd;
                mycmd.ExecuteNonQuery();  //对于非查询的语句使用这一指令

                //插入数据
                for(int i=0;i<number.Length;i++)
                {
                    //按照列次序依次写入数据
                    cmd = String.Format("insert into studentdata(number,student,sex,birth,book) values (\'{0}\',\'{1}\',\'{2}\',\'{3}\',\'{4}\')", number[i], student[i], sex[i], birth[i], book[i]);
                    mycmd.CommandText = cmd;
                    mycmd.ExecuteNonQuery();
                }

                //查询数据
                cmd = "select * from studentdata";
                mycmd.CommandText = cmd;
                MySqlDataReader reader = mycmd.ExecuteReader();
                while (reader.Read())//有点迭代器,读取直到最后一行返回false
                {
                    for (int i = 0; i < 5; i++)
                        Console.Write(reader[i].ToString() + " ");
                    Console.WriteLine();
                }
            }
            catch(MySqlException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                connect.Close();
            }
            Console.WriteLine("Finish...");
            while(true)
            {
                Console.Read();
            }
           
                              
        }
    }
}

错误解决:

FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager

NuGet
Install-Package System.Configuration.ConfigurationManager

 前端代码(实验六 第二题 前端\Controllers\HomeController.cs):初始创立时的页面

​using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using test01.Models;

namespace test01.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Privacy()
        {
            return View();
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
} 


​

C#代码中“@字符串”的含义:

1、C# string 字符串的前面可以加 @ 可以将转义字符(\)当作普通字符对待,比如:

  • string str = @"C:\Windows";

如果我们去掉 @ 的话,应该是:

  • string str = "C:\\Windows";

2、@ 字符串中,我们用两个连续英文双引号表示一个英文双引号,如下字符串的实际内容为:="=,字符串长度为 3。

  • string str = @"=""=";

3、@ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。

  • string str = @"<script type=""text/javascript"">
  • <!--
  • -->
  • </script>";
  • Console.WriteLine(str);

4、由于 @ 的这种特性,我们常将其应用到 SQL 字符串中

  • string sql = @"select * from tbl";

5、@ 只在连续一段字符串中有效,@"abc" + "\\",用 + 将两个字符串连接起来,第二个字符串中没有用 @ 标识,其中的 \ 就成为转义字符。

6、Environment.NewLine换行
在 C# 中,我们用字符串 "\r\n" 表示回车换行符。
string str = "第一行\r\n第二行";
但是我们更推荐 Environment.NewLine(名称空间为 System),Environment 是类,NewLine 是字符串属性,用于获取当前环境中定义的回车换行符字符串。
string str = "第一行" + Environment.NewLine + "第二行";
在 Windows 环境中,C# 语言 Environment.NewLine == "\r\n" 结果为 true。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunlin2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值