欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

以类为单位的编程思想

程序员文章站 2022-05-04 14:21:05
一、打开和关闭 如果我说,类就是一个人,你会信吗? 让我们来看看,你是怎么打开数据库的:     你需要知道这么几个信息:你要连接的是哪台机器(机器名:spxy-wyh);你要采...

一、打开和关闭

如果我说,类就是一个人,你会信吗?

让我们来看看,你是怎么打开数据库的:

 以类为单位的编程思想

 

你需要知道这么几个信息:你要连接的是哪台机器(机器名:spxy-wyh);你要采取什么身份验证方式(window身份验证方式,还是sql server身份验证方式);如果你是个负责任的人,你还需要知道你要连接哪个数据库(netshop)。好了,我可以用字符串的方式告诉你吗?

1、连接字符串

string connectionstring = "server=spxy-wyh;database=netshop;trusted_connection=sspi"; 

 

string connectionstring = "server=.spxy-wyh;database=netshop;user id=abc;password=123"; 

 

你应该明白,我两个连接字符串的意思吧?

第一个,是让你用windows身份验证方式打开数据库,机器名是spxy-wyh,要连接的数据库是netshop;

第二个,是让你用sql server身份验证方式打开数据库,机器名是spxy-wyh,要连接的数据库是netshop。你知道的,用这种方式打开数据库,是需要知道用户名和密码的.....

 2、数据库的打开与关闭

那,我们再看看,类sqlconnection是怎么打开数据库的:

sqlconnection conn = new sqlconnection();

conn.connectionstring = "server=spxy-wyh;database=netshop;trusted_connection=sspi";

conn.open(); 

conn.close();   

我们把刚才告诉你的连接字符串,告诉给了一个叫sqlconnection的人,然后,它就可以很乖地听我们的指令,随时打开、关闭数据库了。

什么,你说不对??“你明明告诉的是一个叫conn的类的实例,不是sqlconnection类嘛......”

是的,不错,你说得对,我告诉的是conn。可是,你知道conn是个什么人吗?他是一个克隆人,是我们知道sqlconnection很有用,很有价值,具有打开一个数据库的法术,就克隆了一个,这样,他就会完全属于我,非常非常乖地听我的话了......

你不是克隆人,所以,你有权利不听我的话,你可以说我今天不心情不好,不喜欢做一个打开数据库这么一个无聊的操作,更不喜欢那么费事儿地,在打开数据库的同时,还帮我指定要操作的数据库,你还有可能心不在焉地帮我犯两个操作小错误,从而不能很好地完成这个操作。

我的克隆人不会让我失望的,他是我的,他完完全全是我的,他非常非常听我的话,也非常非常地敬业,每次打开数据库之后,还能不厌其烦地,帮我把数据库关闭,因为,这是一个必须的良好习惯。

我的克隆过程,是通过这个语句完成的sqlconnection conn = new sqlconnection(); ,你不会有意见吧?

 

二、执行查询命令并显示查询结果

打开数据库,总要做点事,我们来查询点什么吧,我们换一个人,找个叫sqlcommand的人做这件事儿怎么样?

 以类为单位的编程思想

按照你在查询分析器上执行一个查询命令的需要,我需要告诉她这么三样东西:

1、针对哪个机器上的哪个数据库,简单一点,就直接告诉她是刚才克隆人conn打开的那个连接吧;

2、是什么类型的命令,是存储过程,还是直接用文本形式的sql语句,还是...;

3、如果是用存储过程查,我需要告诉她存储过程名是什么,如果是sql语句查,我需要告诉她sql语句的内容。

你看我这样告诉她行不行?

sqlcommand cmd = new sqlcommand(); 

 cmd.connection = conn; 

 cmd.commandtype = commandtype.text; 

cmd.commandtext = cmdtext;

看出来了吧,这个她,也是我克隆出来的,我命令她给我执行一个可以获得一个表格数据的命令,把查到的表格数据交给另一个叫“rdr”的克隆人来管理,她肯定不会有意见的:

sqldatareader rdr = cmd.executereader(); 

今天就到这里吧,sql server.net数据提供程序,也就是system.data.sqlclient命名空间里的4个核心的类,我们就这样简简单单、随随便便地熟悉了2个,你还想说,这东西,很难吗??

类就是一个人,一个可以做某类事儿的人,命令一个类做件什么事,就象命令一个人做件事一样,不管你信不信,我反正是信了......

三、以类为单位的编程思想

asp.net(c#),就是这样,以类为单位,使用一个一个已经具有相当功能的类来构建项目、的。不仅c#是这样的,vb、vc、java、delphi等等,高级语言,都是这样以类为单位编程的。做为他们的主人,你要做的,就是象伯乐一样,今天发现一个类,明天认识一个类,后天又熟悉一个类。象韩信用兵一样,多多益善,然后,你就会象大将军一样,威风八面了。

 作者:yousuosi