QQ交流群:13033480
刚上大学的时候,很激动,也很兴奋。其中,一个主要的兴奋点,就是学校的图书馆…
馆,大...;
书,多…
特别是大部头的英文版的书,中学里是绝没有的。
我兴冲冲地借了一本《三国演义》,回来小心地打开,看到了这么一句:
“Life is long”……
我的心,凉了……
拔凉拔凉的............
这是曹操的那句千古名句吗????
“人生几何”????
我怎么就读不出来这种味了呢????
生活是长的...,你哪怕给我译成,生活是漫长的,也些许有点味哈......
直到后来,我学汇编语言的时候,才真真的体会到了,什么叫直译,什么叫意译…
汇编语言,有三种读法,相应地,也就有三种译法:
一种是,一句一句地读,这样子读,主要是看看,每一句里,有没有自己不熟悉的指令,如果直接就翻译,没法看;
一种是:一块一块地读,但,是直译,主要是看看,这一段,主要进行了什么操作,翻译出来,好象说明了问题,但罗里巴罗嗦,你自己看着都烦;
第三种:一块一块地读,但,是意译,这时,你要真真地看出,这一段代码,在干什么??
汇编语言是这样的,什么语言,应该也都是这样的…
我们来看看这段代码吧:
string connectionString = "Server=.\\SQLEXPRESS;Database=NetShop;Trusted_Connection=SSPI"; string cmdText = "SELECT * FROM Category"; SqlConnection conn = new SqlConnection(); conn.ConnectionString = connectionString; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = cmdText; conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Response.Write(rdr["Name"] + "<br/>"); } rdr.Close(); conn.Close();
这十四行代码,有十一行,我们前面,已经讲过了,相信你能理解,不需要我再说什么了,让我们来读一下这一段,三行代码吧:
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Response.Write(rdr["Name"] + "<br/>");
}
一、一句一句地读:
1、SqlDataReader rdr = cmd.ExecuteReader();
这一句,是声明了一个SqlDataReader指针,它指向的是cmd.ExecuteReader()获得的一个表格;
这个表格,是一个SqlDataReader类,这个类,在这里,主要是存放数据的,里面应该有几行代码,或者函数,帮助我们管理这个类里面的数据。
2、while (rdr.Read())
这一句里,while,大家都熟悉,rdr.Read(),是前进到SqlDataReader表格的下一行,如果存在下一行,就返回个true,如果不存在了,或者说没有数据了,就返回个false。
这个SqlDataReader表格数据,只能一行一行的读取,前进到哪一行,读取哪一行,并且是处于连接状态的。
3、Response.Write(rdr["Name"] + "<br/>");
这一句,主要是那个rdr[“Name”]了,好象不需要讲什么,猜都能猜得出来,这是读取SqlDatareader表格数据中,某一行的,“Name”中的值了。
二、一段一段地读,直译:
这是一个循环,每次循环,先判断rdr.Read()返回的值是不是true,如果是true,就说明表格中还有一行数据,就读取这一行数据中“Name”字段的值,并显示到浏览器上,如果是false,就说明,表格没有下一行数据了,循环就结束。这样读、这样译,好象差不多了。
三、一段一段地读,意译:
意译,关键是要看这一段,倒底是干什么的了。
我是这样翻译的,这是一个“遍历”,把SqlDataReader表格中的所有Name读出来,显示到到浏览器上。
言简意赅,好象还有点味,不是吗??
是的,这是一个遍历,听说过密码的暴力破解吧?很血惺,很刺激吧?其实,那也只是一个遍历,它的实质过程,就是用所有可能的密码组合,一个一个,挨个试一遍。
你以前学的很多循环,从数组开始,到二维数组的时候,开始遇到嵌套循环,如果你用循环的眼光去读,一会 i ,一会 j 地,相信很多刚学的人,头都挺大的。其实,那都只是一个遍历。就是把数组里的每一个数据,挨个访问一次而已。
记往,今天我们学到的是“遍历”,以后再看到这东东,你要能联想到工会主席,说上这么一句:“哦,那是工会主席在挨家挨户地了解民情,送温暖呢.....”,我会更高兴。