• 学了N年英语,你学会翻译了吗?——最基本的数据库连接


    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 地,相信很多刚学的人,头都挺大的。其实,那都只是一个遍历。就是把数组里的每一个数据,挨个访问一次而已。

    记往,今天我们学到的是“遍历”,以后再看到这东东,你要能联想到工会主席,说上这么一句:“哦,那是工会主席在挨家挨户地了解民情,送温暖呢.....”,我会更高兴。

    版权所有©2012,WestGarden.欢迎转载,转载请注明出处.更多文章请参阅博客http://www.cnblogs.com/WestGarden/

  • 相关阅读:
    Peewee中join三张及以上的表时只能获取一张表的数据
    Ubuntu18.04安装 NVIDIA显卡驱动+CUDA+cuDNN+Pytorch
    Kubernetes Deployment 并行重启Pod
    git config 配置用户名、邮箱
    Python __str__() 方法
    阅读-自律100天-SMART法则
    Jenkins 调用执行jmeter脚本,并直接生成html报告
    推荐一款开源的Diffy自动化测试框架(转)
    mysql binlog日志自动清理及手动删除
    大数据测试
  • 原文地址:https://www.cnblogs.com/WestGarden/p/2517399.html
Copyright © 2020-2023  润新知