C#可视化程序设计课堂笔记

Lan
Lan
2020-05-16 / 0 评论 / 1,503 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年05月05日,已超过725天没有更新,若内容或图片失效,请留言反馈。

image.png

C#可视化程序设计笔记

一、初识类和对象

  1. 类与对象:

    1. 某种可为人所感知的物质;

    2. 思维,感受或动作所作用的物质或精神体。

    3. 类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。

    4. 对象:根据《韦氏大学英语词典》的释义:

    5. 两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。

    6. 总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。

  2. C#类定义:

    1. 语法:

    [访问修饰符] class 类名{
        类的字段声明;
        类的属性声明;
        类的方法声明;
    }
    1. 举例:

    class Product{

        public string name;
        public string category;
        public double price;
        public int stock;
        public string descrition;
        // 定义字段与变量类似,需要指定类型与字段名,public是访问修饰符,控制类成员访问权限。public为公开的意思,表示在任何地方都能访问到。
        public void ShowInfo(){
            Console.WriteLine("产品信息");
            Console.WriteLine("=======================");
            Console.WriteLine("产品名称:{0}",name);
            Console.WriteLine("产品类别:{0}",category);
            Console.WriteLine("产品价格:{0}元",price);
            Console.WriteLine("产品描述:{0}",description);
        }
    }

  3. 对象的操作

  4. a,实例化对象:

    类名 对象名 = new 类名();
    Product phone = new Product();

    b,访问类的字段:

    Console.WriteLine(phone.name);
    //在类的内部访问字段时,直接通过字段名访问。
    //如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。

    c,调用类的方法:

    phone.ShowInfo();
    //实例化对象后,可通过对象名.方法名(参数)进行调用
  5. 命名空间

    1. 导入命名空间

    using Company.Development;
    namespace T1Demo{
        class Program{
            static void Main(String[] args){
                Employee emp = new Employee();
            }
        }
    }
    1. 使用完全限定名访问

    namespace T2Demo{
        class Program{
            static void Main(String[] args){
                Company.Development.Employee emp1 = new Company.Development.Employee();
            }
        }
    }
    1. 定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。

    2. 自定义命名空间举例(命名空间也可以嵌套):

    //某公司
    namespace Company{
        Class Employee{
            
        }
        // 研发部
        namespace Development{
            //研发部员工类
            class Employee{
                
            }
        }
        // 人事部
        namespace Personel{
            //人事部员工类
            class Employee{
                
            }
        }
    }
    1. 常用的系统命名空间:

      命名空间说明
      System根命名空间,提供最基本的操作
      System.Data处理数据存取和管理
      System.IO管理对文件,流的同步和异步访问
      System.Windows可视化编程的基于窗体的处理
      System.Collections包含对集合进行处理的接口和类
    2. 命名空间的使用:

ADO.NET基础

1,Connection链接

using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
namespace T2practice2{
    class Program{
        static void Main(string[] args){
            //定义数据库链接字符串
            string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn";
        }
    }
}

<br/>

2,使用Command执行

   class Program{
       static void Main(string[] args){
           //定义数据库链接字符串
               string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn";
               // 创建链接对象
               SqlConnection conn = new SqlConnection(connString);
               //打开数据库链接
               conn.open();
               //检测数据库是否打开
               if (conn.State == ConnectionState.open){
                   Console.WriteLine("+---------------+");
                   Console.WriteLine("|1,新增|");
                   Console.WriteLine("|2,修改|");
                   Console.WriteLine("|3,删除|");
                   string index = Console.ReadLine();
                   string sql = "";
                   String loginid ="";
                   String loginpwd="";
                   switch (index){
                       case "1":
                           Console.WriteLine("请输入账号");
                           loginid = Console.ReadLine();
                           Console.WriteLine("请输入密码");
                           loginpwd = Console.ReadLine();
                           Console.WriteLine("请输入姓名");
                           String name = Console.ReadLine();
                           sql = string.Format("insert into Admins Values('{0}','{1}','{2}')"),loginid,loginpwd,name);
                           break;
                       case "2":
                           Console.WriteLine("请输入账号");
                           loginid = Console.ReadLine();
                           Console.WriteLine("请输入密码");
                           loginpwd = Console.ReadLine();
                           Console.WriteLine("请输入新密码");
                           String newpwd = Console.ReadLine();
                           sql = string.Format("update admins set loginpwd = '{0}' where loginid='{1}' and loginpwd='{2}'"),newpwd,loginid,loginpwd);
                           break;
                       case "3":
                           Console.WriteLine("请输入账号");
                           loginid = Console.ReadLine();
                           Console.WriteLine("请输入密码");
                           loginpwd = Console.ReadLine();
                           Console.WriteLine("请输入姓名");
                           String name = Console.ReadLine();
                           sql = string.Format("delete from Admins where loginid='{0}' and loginpwd='{1}'"),loginid,loginpwd,name);
                           break;
                   }
                   SqlCommand cursor = new SqlCommand(sql,conn);
                   if (cursor.ExecuteNonQuery()>0){
                       Console.WriteLine("成功");
                   }else{
                       Console.WriteLine("错误")
                   }
               }
           conn.Close();
       }
   }

3,使用DataReader读取

class Program{
       static void Main(string[] args){
           //定义数据库链接字符串
            string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn";
            // 创建链接对象
            SqlConnection conn = new SqlConnection(connString);
         //打开数据库链接
            conn.open();
         //检测数据库是否打开
            if (conn.State == ConnectionState.open){
                string sql = "select id,loginid,name from Admins";
                //创建Command对象
                SqlDataReader reader = cmd.ExecuteReader();
                Console.ReadLine("编号 账号 密码 姓名");
                while(reader.Read()){
                    string id = reader["ID"].ToString();
                    string loginid = reader["loginid"].ToString();
                    string loginpwd = reader["loginpwd"].ToString();
                    string name = reader["name"].ToString();
                    Console.WriteLine("{0} {1} {2} {3}",id,loginid,loginpwd,name);
                }
                reader.Close();
            }
       }

MarkDown:C#可视化笔记

# C#可视化程序设计笔记 ## 一、初识类和对象 1. 类与对象: 1. 类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。 1. 对象:根据《韦氏大学英语词典》的释义: 1. 某种可为人所感知的物质; 1. 思维,感受或动作所作用的物质或精神体。 3. 两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。 3. 总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。 2. C#类定义: 1. 语法: ```csharp [访问修饰符] class 类名{ 类的字段声明; 类的属性声明; 类的方法声明; } ``` 1. 举例: ```csharp class Product{ public string name; public string category; public double price; public int stock; public string descrition; // 定义字段与变量类似,需要指定类型与字段名,public是访问修饰符,控制类成员访问权限。public为公开的意思,表示在任何地方都能访问到。 public void ShowInfo(){ Console.WriteLine("产品信息"); Console.WriteLine("======================="); Console.WriteLine("产品名称:{0}",name); Console.WriteLine("产品类别:{0}",category); Console.WriteLine("产品价格:{0}元",price); Console.WriteLine("产品描述:{0}",description); } } ``` 3. 对象的操作 1. 实例化对象: ```csharp 类名 对象名 = new 类名(); Product phone = new Product(); ``` 1. 访问类的字段: ```csharp Console.WriteLine(phone.name); //在类的内部访问字段时,直接通过字段名访问。 //如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。 ``` 1. 调用类的方法: ```csharp phone.ShowInfo(); //实例化对象后,可通过对象名.方法名(参数)进行调用 ``` 4. 命名空间 1. 定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。 1. 自定义命名空间举例(命名空间也可以嵌套): ```csharp //某公司 namespace Company{ Class Employee{ } // 研发部 namespace Development{ //研发部员工类 class Employee{ } } // 人事部 namespace Personel{ //人事部员工类 class Employee{ } } } ``` 1. 常用的系统命名空间: | 命名空间 | 说明 | | --- | --- | | System | 根命名空间,提供最基本的操作 | | System.Data | 处理数据存取和管理 | | System.IO | 管理对文件,流的同步和异步访问 | | System.Windows | 可视化编程的基于窗体的处理 | | System.Collections | 包含对集合进行处理的接口和类 | 1. 命名空间的使用: 1. 导入命名空间 ```csharp using Company.Development; namespace T1Demo{ class Program{ static void Main(String[] args){ Employee emp = new Employee(); } } } ``` 1. 使用完全限定名访问 ```csharp namespace T2Demo{ class Program{ static void Main(String[] args){ Company.Development.Employee emp1 = new Company.Development.Employee(); } } } ``` ## 二、ADO.NET基础 1. Connection链接 ```csharp using System.Collections.Generic; using System.Data; using System.Data.SqlClient; namespace T2practice2{ class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ Console.WriteLine("Ok") } //关闭数据库链接 conn.close(); if(conn.State == ConnectionState.Close){ Console.WriteLine("ok") } } } } ``` 2. 使用Command执行 ```csharp class Program { static void Main(string[] args) { //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open) { Console.WriteLine("+---------------+"); Console.WriteLine("|1,新增|"); Console.WriteLine("|2,修改|"); Console.WriteLine("|3,删除|"); string index = Console.ReadLine(); string sql = ""; String loginid = ""; String loginpwd = ""; switch (index) { case "1": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("insert into Admins Values('{0}','{1}','{2}')"),loginid,loginpwd,name); break; case "2": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入新密码"); String newpwd = Console.ReadLine(); sql = string.Format("update admins set loginpwd = '{0}' where loginid='{1}' and loginpwd='{2}'"),newpwd,loginid,loginpwd); break; case "3": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("delete from Admins where loginid='{0}' and loginpwd='{1}'"),loginid,loginpwd,name); break; } SqlCommand cursor = new SqlCommand(sql, conn); if (cmd.ExecuteNonQuery() > 0) { Console.WriteLine("成功"); } else { Console.WriteLine("错误") } } conn.Close(); } } ``` ```csharp 3. 使用DataReader读取 ```C# class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ string sql = "select id,loginid,name from Admins"; //创建Command对象 SqlDataReader reader = cmd.ExecuteReader(); Console.ReadLine("编号\t账号\t密码\t姓名"); while(reader.Read()){ string id = reader["ID"].ToString(); string loginid = reader["loginid"].ToString(); string loginpwd = reader["loginpwd"].ToString(); string name = reader["name"].ToString(); Console.WriteLine("{0}\t{1}\t{2}\t{3}",id,loginid,loginpwd,name); } reader.Close(); } } } ```
0

评论 (0)

取消