C#可视化程序设计笔记
一、初识类和对象
类与对象:
某种可为人所感知的物质;
思维,感受或动作所作用的物质或精神体。
类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。
对象:根据《韦氏大学英语词典》的释义:
两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。
总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。
C#类定义:
语法:
举例:
对象的操作
命名空间
导入命名空间
使用完全限定名访问
定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。
自定义命名空间举例(命名空间也可以嵌套):
常用的系统命名空间:
命名空间 说明 System 根命名空间,提供最基本的操作 System.Data 处理数据存取和管理 System.IO 管理对文件,流的同步和异步访问 System.Windows 可视化编程的基于窗体的处理 System.Collections 包含对集合进行处理的接口和类 命名空间的使用:
[访问修饰符] class 类名{
类的字段声明;
类的属性声明;
类的方法声明;
}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);
}
}a,实例化对象:
类名 对象名 = new 类名(); Product phone = new Product();
b,访问类的字段:
Console.WriteLine(phone.name); //在类的内部访问字段时,直接通过字段名访问。 //如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。
c,调用类的方法:
phone.ShowInfo(); //实例化对象后,可通过对象名.方法名(参数)进行调用
using Company.Development;
namespace T1Demo{
class Program{
static void Main(String[] args){
Employee emp = new Employee();
}
}
}namespace T2Demo{
class Program{
static void Main(String[] args){
Company.Development.Employee emp1 = new Company.Development.Employee();
}
}
}//某公司
namespace Company{
Class Employee{
}
// 研发部
namespace Development{
//研发部员工类
class Employee{
}
}
// 人事部
namespace Personel{
//人事部员工类
class Employee{
}
}
}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";
}
}
}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#可视化程序设计笔记 ## 一、初识类和对象- 类与对象:
- 类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。
- 对象:根据《韦氏大学英语词典》的释义:
- 某种可为人所感知的物质;
- 思维,感受或动作所作用的物质或精神体。
- 两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。
- 总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。
- C#类定义:
- 语法:
[访问修饰符] class 类名{
类的字段声明;
类的属性声明;
类的方法声明;
}
- 举例:
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);
}
}
- 对象的操作
- 实例化对象:
类名 对象名 = new 类名();
Product phone = new Product();
- 访问类的字段:
Console.WriteLine(phone.name);
//在类的内部访问字段时,直接通过字段名访问。
//如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。
- 调用类的方法:
phone.ShowInfo();
//实例化对象后,可通过对象名.方法名(参数)进行调用
- 命名空间
- 定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。
- 自定义命名空间举例(命名空间也可以嵌套):
//某公司
namespace Company{
Class Employee{
}
// 研发部
namespace Development{
//研发部员工类
class Employee{
}
}
// 人事部
namespace Personel{
//人事部员工类
class Employee{
}
}
}
-
常用的系统命名空间:
| 命名空间 | 说明 |
| --- | --- |
| System | 根命名空间,提供最基本的操作 |
| System.Data | 处理数据存取和管理 |
| System.IO | 管理对文件,流的同步和异步访问 |
| System.Windows | 可视化编程的基于窗体的处理 |
| System.Collections | 包含对集合进行处理的接口和类 | -
命名空间的使用:
- 导入命名空间
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();
}
}
}
二、ADO.NET基础
- 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";
// 创建链接对象
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")
}
}
}
}
- 使用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 (cmd.ExecuteNonQuery() > 0)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("错误")
}
}
conn.Close();
}
}
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();
}
}
}
