00:00
查询的代码跟这些代码就不是一回事了。所以呢,我得重新来过。再来。呃,现包啊,还有。TEST3。这个测试的就是测试查询哈。Query。买方法。方法,然后呢,这个链接或者链接我就不写一遍了啊copy了。写直接写什么呀。好一个是吧。删掉。行吧,这之前代码都是一样的,接下来呢,我要写查询了。其实查询大体的步骤呢,还是差不多啊,第二步,定义命令。咱查一个啥嘞。
01:02
先简单的啊。查询所有的名字。Slack,咱这叫。Student name from学生表。就是所有人的名啊,别的了,再加个简单的条件。其实加不加一样的啊,我就是怕的太多,看着麻烦,我加一个性别等于。女,对吧。女同学所有的名字,所有女同学的名字啊,命令已经有了,接下来干嘛了?是不是那个小兵啊,谁去执行这个玩意啊,小兵搞出来。通过连接点。Great。Statement。哎,小兵statement ST。第三步。这个其实啊,是执行命令的。对象是吧。
02:00
引爆。好了,ST有了,接下来干嘛呢?ST执行这个吧。4A。四执行命令。st.cut cut。这个啊没有完,应该是使用这个。刚才干嘛呢?执行专有的查询。Query叫查询,OK,所以执行的是这句话啊。SQ语句塞进去。塞进去。好吧,这个是查询,这个是查询。直行。查询命令。然后呢,这个命令你想啊,我这边是Java,这边是数据库哈,我咣当一个命令过去,我说查询所有的女同学的名字。
03:02
那么我是不是应该把所有的女同学的名字?给我搞回来呀,要不然我咋知道,我怎么知道谁谁谁叫啥呀,所以这涉及到一个返回的一个东西吧,所以也就是说查询最终要返回结果吧。你看添加修改删除搞就搞了,没什么返回结果,但是查询查询的目的,它一定是得到一些结果了。所以只要是查询,那么它一定有一个返回值。那这个返回值是什么?鼠标放到这个方法上来。是什么呀?OK,这个单词叫result set。我习惯取这两个大小字母啊,R和SOK。这个对象呢,你看这个单词上理解哈,Result为结果。
04:01
Set为集,所以这个叫返回结果集。结果集好来领一下包。他们都是狗下的,这个暂时我先不改了啊,好了,那也就是说所有人的名字都在RS里,那我对这个RS是不是进行一个循环或者说便利就能拿出来了。好了,来,所以它又多了第五步。从RS结果及对象中。获得数据。RS常用的方法有这么多?乱七八糟一大堆哈,我告诉大家用什么。他这个。那个是干嘛的?游标下移啊,想起昨天的内容了吗?昨天的话从游标中拿一行,再拿下一行,再拿下一行,是不是得控制游标下移啊?那代码是什么?是不是fech啊,哎,Fetch。
05:09
而在这里边那个范那行就相当于这个了,然后你再看这个方法返回的是什么值啊。布尔值,所以我完全拿这个可以进行判断了,因为这个布尔值的结果是什么,如果下一行有数据返回真。没有数据返回甲,所以看我的程序这么高。RS中。有数据。则继续。返回。OK吧,哎,返回针。有数据返回针,那这块返回针的意思是不是进入循环体啊。
06:01
进入循环体好。那么我要从。循环进来干嘛?从RS中。获得数据是吧。好,怎么获得呢?2s.get。Get get啊get后边一提示,你看到后边有get数组,有get ask ask流的,有什么大的这个disable数据类型的都不太认识哈。哎,有你认识的。Double认识吗?他认识吗?还有更加熟悉的。哪去了。我找死呢,还。OK。Get string是吧?那到底什么叫get string这个方法是什么意思呢?什么意思呢,是这样的啊,你看我这个结果啊,所有的女同学,咱们来执行一下结果。查询。
07:02
啥情况?诶,我没写外人。哎呀,还好,这块看出来了啊。这块改了加上啊from where是吧。好。这些。这儿呢哈。哎,这儿呢。啊。我这个三号语句执行呢,是不是得到这个结果啊,那我想拿到这个值,这个值这个值这个值这个值我得知道你这里边的列名是什么。好,这个值是不是字符串类型啊,我这块get字符串。然后里边C列名。这就是每一个人名,咱直接输出就可以了。挂了。走,你。
08:02
没毛病吧?哎。搞定了。我说哎呀,还是不太理解哈,这块写列名的事儿哈,来看我的啊。假设我现在这个位置。OK,换成星了,那相应的咱们在查询的时候,这块是不是也是。这样呢,它返回的是不是整个一个结果集呀。哎,我这有什么什么账号密码性别什么都注意都有,但是我的需求是我只想打印姓名。执行打印姓名,所以这个里边你只能写列名叫student name,所以它打印的就是姓名,OK,如果说你只有打印性别的话。这块写成啥?OK,这块是不是知道是列名了,看一眼女同学都是女吗?如果是想写地址的话。
09:00
OK。是这意思不好,那么比如说这样这块呢,可以写列名哈,我想在它前边,这是地址吗?我在他前边。我再拼一个。名字。R s.get string。Street。名字是不是叫student name啊?没问题吧,一直行是不是这个结果啊。好吧,但是有的时候呢,这个里边哈,这个里边还可以写成别的值,我看这行不行。啊,就干盖的死吗?看到了吗?我现在盖的死里边装的是不是死这类型的参数啊。好的。我里边装的是string类型的参数,你看它这怎么显示的是吧?以string类型或者结果及当前行指定列名的值。也就是说我这里边儿放的是不是列名啊。
10:00
然后你看啊,跟他重载的有一个叫做什么。是不是都是get词缀,这个里边扔什么呀?是是不是int类型啊,你看它int类型是啥意思,指令。列号列号。哎,列号啥意思呢,是这样的啊,有的时候啊,你看这个结果集是不是很多呀。很多,哎呀,Student name这个列单词太长,我不想写这个单词名,但是我知道它是123第三列。OK,所以里边我可以写个啥。三好执行。没问题吧?好,知道数字和字符串是什么意思了吧?当是数字的时候表示什么?第几列?OK,当是字符串的时候,表示的是列的名称。
11:01
听清了。好,这个就是查询的代码。查询的代码。OK,这个查询的代码其实严谨来说还没有写完,因为还有第六步叫做。关闭资源和IO流差不多,但是这个关闭资源有要求。哎,这儿呢。这儿呢?注意关闭的顺序。啥意思呢,这样你看啊,和数据库打交道,这几个对象我先用的是不是C呢。对吧,其次我用的是不是ST呀。最后用的结果集是不是RS啊?对吧。咱们在学IO流的时候,是不是也是假设先用流A再用流B,最后关闭的时候是不是先关B再关A呀,OK,咱们这个呀,也是同理,我正常应用是这个顺序,所以关闭应该怎样?
12:05
调过来啊,Con放在最后,ST这么的。然后点close。同样的,都需要进行关闭。OK。所以这个啊。就是对象使用的顺序怎么着。倒叙是吧?哎,不是这个。倒叙。这个是吧。对象使用的顺序颠倒过来。好了,这样的话,完整的查询就写完了。就这么写,查询。如果说你想把这个列的值都打印出来,你是不是往里加就好了,哎,往这块加就行了。
我来说两句