封装篇
1.类与对象的定义:
a 类
类是一个对象的概念化、逻辑上的一个概念。如人类、猫科类,都是类。
a1: 公共类 私有类 静态方法 动态方法
b1:
public class 类名();
{
// public 属性值
// 方法体
}
b 对象
概念:对象是类的实体
b1:单个对象、多个对象
c1;格式:
类名 对象名=new 类名
2.方法于属性
1. 方法:是对反复代码进行封装,从其中调用的一种方法。
2.构造方法:sqlcommand dx=new sqlcommand(sql,conn);// ado中对对数据库对象进行操作的过程
3.普通方法:
public static void way // void 无返回值 如果有返回值,则在这里写返回值类型
{
//方法体
return //如果有返回值则写在方法体的后面
}
3.有参、无参、形参、实参
概念:有参/无参—— 有参数、无参 //实际上这是废话
形参/实参 —— 实参是写在函数调用的时候是实参 定义一个函数中括号中的则是一个形式参数
过程:
//一个传递过程:首先由函数调用的实参数进行参数传递、到函数定义的形式参中、然后进行数据处理
返回一个处理后的值,然后接着继续程序。
4.写法
public static closs my
{
my dd=new dd();
int a=12;
int b=15;
int c;
dd.ff();
}
public int ff(a,b)
{
//对数据体进行操作
return;
}
4.占内存与堆内存
4.1 解释:占内存就是公司的办公地、堆内存就是公司的仓库
4.2 引用:就在在占内存建立一个地址,能找到堆内存的一个地址。
4.3注意:在占内存引用完毕后,c#有自动回收机制、不需要程序员手动回收
4.4 内存情况:首先从占内存建立一个对象,这个对象有堆内存的地址、可以通过这个对象访问到堆内存中的数据,访问完毕后
如果没有其他地方需要用这个引用,则会被自动销毁。
2.ado.net //后台对数据库的操作
主要步骤:
1.首先创建对数据库引用
using system.data;
using system.data.sqlclient;
2.创建一个数据库连接对象 //面向对象的宗旨:一切皆对象
sqlconnect ljdx=new sqlconnect("server=.;database=xs;uid=sa;pwd=123");
3.对数据进行验证
try
{
//数据操作
}catch(exception ex)
{
console.writeline(ex.message);
}
finally
{
conn.closs();
}
4.创建连接对象
sqlcommand sjkzcdx=new sqlcommand(sql,conn);
5.创建对数据库的命令
5.1:对数据库命令操作有两种
a 非查询
b 查询 / 单个查询 批量数据查询
a1:非查询
一般是指增删改这三项:
举例:
string zj="insert into chengji values('001','张三')"
注意:
对数据进行操作的时候有两种对数据连接的方式
1:对数据进行拼接
例:string dx="delete pwd chengji where cid='"+cid+"'";
2.直接对命令进行平凑
例:string ml=string.frormat('insert into info values('{0}','{1}','"{2}','{3}')",cid,uid,msex,score);
3.非查询的调用于验证
int retr=dx.ExecuteNonQuery();
if(retr>0)
{
message.show('成功');
}
4.查询
4.1 多行查询
//连数据库的过程都是一样
2 建立一个dataset 的对象
dataset set=new dataset();
3 对数据进行操作
sqldataadapter sjsz=new sqldataadapter(dx);
4.把处理的值给set
sjsz.fill(set);
5.数据进行显示
dataset set=cless1.ff(ml);
bk.datasource=set.tables[0]; //在第一个表中
4.22 单个查询
注意://单个查询的函数是要写ExecuteScalar
这个是个object类型的,所以要转换
例:object obje=database.executescalar();
2.判断的时候,要注意转换
if((string)obje==null)
{
messagebox.show('不存在的账户');
}
5.winform(窗体)
5.1 窗体事件 单击事件(click) 载入窗口事件(load)
5.2基本常用按钮 buttom 点击按钮 textbox 文本框 statustrip 菜单工具栏 datagridview 显示数据表的控件
timer 时钟
5.3 公共类于私有类
定义:公共类是定义一个公共的类不同对象进行反复调用的类。
5.3.1 窗口数据交换
窗口1:
public ck2 dx;
pubic string sj;
窗口2:
dx ckdx=new dx();
ckdx.dx=this;
ckdx.sj=sj
公共定义:私有类是可以允许对象进行访问的类,不同的是只能是这个类里才能访问。
对类有静态访问.static
静态访问的好处是直接使用类的属性而不用创建方法
5.3.2
步骤:
首先创建一个公共类 // 项目右键进行类的创建
public class pulicmang
{
public string cur //创建一个公共类
}
窗口2..
new pulicmang().cur=cur; //将窗口的值放在公共类里
5.4退出系统 于关闭窗口
application.exit() 退出系统
this.close(); 关闭窗口
5.5 按钮行的选定
string cid = bk.SelectedRows[0].Cells[0].Value.ToString(); //表示取到这个所有行的值
bk.DataSource = set.Tables[0]; //表示取第一行
string ml = "select * from info where cid='" + this.cid + "'"; //命令的操作
SqlCommand dxml = new SqlCommand(ml, conn);
DataSet set = new DataSet(); //数据捆定与操作后讲值传递给set
SqlDataAdapter app = new SqlDataAdapter(dxml);
app.Fill(set);
DataRow ser = set.Tables[0].Rows[0]; //按照行数对取到的所有行数进行数据填充
textBox1.Text = ser[0].ToString();
textBox2.Text = ser[1].ToString();
textBox3.Text = ser[2].ToString();
textBox4.Text = ser[3].ToString();