喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

本来觉得也许不使用数据库也能完成的

作者:不吃鱼的喵酱
10. 入库 喵酱:本来觉得也许不使用数据库也能完成的,但是现在这数据乱成这个样子不得不使用数据库整理了。 H娘:有什么我能帮忙的吗? 喵酱:.xls我处理不了,姐姐帮忙把这些数据复制出来放到记事本里好了。 H娘:记事本里就能处理了吗? 喵酱:记事本是标准的文本流嘛,当然好处理了。 H娘:好嘛,你说怎么样就怎么样咯~ 喵酱:我看看啊……有学生姓名、班级、准考证号和各科成绩以及排名,这里面排名应该是不需要的,剩下的需要插入数据库。那么首先应该先要总结一份学生名单出来。显然学生名单应该是所有考试中学生名单的并集。 H娘:(……?) 喵酱:那么,程序逻辑应该是在插入的时候遍历,如果没有重复项就插入,否则不执行。 H娘:…… 喵酱:嗯嗯,就这样……姐姐你弄完了吗? H娘:…… 喵酱:姐姐? H娘:啊?哦,好了…… 喵酱:那么,姐姐帮忙把五次考试所有的学生的姓名和班级放到一个txt文件中吧。 H娘:哎?全部吗? 喵酱:是的。 H娘:重复的怎么办? 喵酱:你不管嘛,我会处理的。 H娘:哦……这样就可以了吗? 喵酱:可以了。谢谢姐姐~ H娘:下面你打算怎么处理呢? 喵酱:打开一个FileInputStream,用Scanner过滤一下,一次处理一行就好了嘛。 H娘:我就不该问这句话…… 喵酱:我可以在内存中维护一个List,每次添加的时候就遍历一下,只插入不存在于List中的数据,等到所有数据都处理完了以后再把这个List插入数据库就好了。 H娘:好像明白一点了……需要多久能写完呢? 喵酱:这个应该很快吧……半小时以内? H娘:那我就开始规划今晚吃什么了啊。 喵酱:就知道吃…… (半小时以后……) H娘:好了吗? 喵酱:…… H娘:晚餐煮白象大骨面吧,下一把菠菜,打个鸡蛋,再切两片火腿,怎么样? 喵酱:…… H娘:你不说话我就当你同意了啊。 喵酱:…… H娘:乖,怎么了? 喵酱:插入数据出现了奇怪的问题。 H娘:哎?奇怪的问题? 喵酱:姐姐你看,数据库里这一条数据是个8位数字,然而读出来前面就多了个问号。 H娘:哎?这是什么问题? 喵酱:刚开始我以为是数据的问题,检查了数据库发现并没有问题,然后我尝试用String.subString()去掉问号,结果莫名其妙的去不掉。 H娘:去不掉? 喵酱:而且我还发现了一件很奇怪的事,正常情况下这个8位数字的字符串运行String.length()的结果应该是8,那么多了一个空格以后再运行应该是9了,然而事实上运行结果依然是8…… H娘:我有点不太明白……这意味着什么吗? 喵酱:也就是说,计算姬在执行的时候并不认为这个问号是一个可见的字符,甚至不认为它占长度,然而事实上打印的时候确实将这个问号打印出来了。 H娘:呃…… 喵酱:更进一步地讲,这个字符串不算结尾标记的话在内存中应该是占了9个字节的,然而我却没有办法访问它的第一个字节,甚至没有办法把它和其他正常的字符串区分开来,但是计算姬自己确实是知道它们是不一样的。 H娘:…… 喵酱:既然length()的运行结果是相同的,那么我推测equals()的运行结果也应该是相同的,也就是说作为执行语言的Java很有可能根本没有办法分辨它们的,然而很不幸的是MySQL是可以分辨的。我不知道该怎么处理这种奇怪的问题……这一个字节到底是什么内容?是怎么来的?该怎么消除?这些我完全没有头绪……我……我……呜呜呜…… H娘:哎哎哎,怎么还哭上了…… 喵酱:都怪喵酱学艺不精……说大话接下这种需求然后又完不成……连累姐姐了…… H娘:你可别这么说。遇到困难是常有的事,没有困难还怎么进步嘛。 喵酱:可是…… H娘:就算是一点头绪也没有,冷静分析一下,慢慢的就会有发现的。 喵酱:呜…… H娘:行了行了,先吃饭,吃完饭再想啊。 喵酱:…… H娘:看来你是不饿,那算了,等凉了我拿去楼下喂猫好了。 喵酱:喵!喂我、喂我就好了!

回复

0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU
红客联盟
异次元
轻之国度
神奇宝贝新生代
游戏狗
口袋双子星
我的世界论坛
梦次元
动漫东东
动漫国际
精艺论坛
78动漫
吐槽弹幕网
漫客栈