1 在执行建表的时候,必须使用异常处理,不然在第二次打开的时候会出现错误,原因就是此表已经存在不能重新建表,这个问题在用java 介入Oracle的时候并没有出现,但是出现了覆盖的情况(还没完全清楚里面如何运行的,因为在Oracle建表的时候应该会提示the table is exist,但是eclipse连错误都没有出现,待实验继续总结)
2在执行查询操作的时候一般使用的方法是rowQuery()进行操作,因为execSQL不能有返回值,但是在进行rowQuery()查询的时候返回值是Cursor类型的~通俗的讲就是类似于指针类型的。。。本来想说在验证密码和用户名的时候使用这个返回值,因为它是Cursor类型的,自然不能直接和String类型的进行比较,然后想想使用了Cursor的toString方法,结果没想到返回的是一大串地址。至此陷入了尴尬,然后想想不然使用一下Cursor的getCount()方法吧,毕竟有没有值看数量应该就可以知道了~但是是为了验证用户名和密码的,自然就在SQL语句 where里面写下了 where ... and ...(大家应该都知道我这个where要写什么)方法进行验证了。。。不过还是有很多疑点,待实验。
3还有一个比较搞笑的就是 在android写sql语句的时候不能写“;”。。。可能是android类包里面的方法会自己填充掉这个符号吧。
4相信很多人在写代码的时候有些通用的变量都会定义在一个常量类里面吧。。。这样这个常量类里面的变量都是得变成public的,然后是static的,包括public static SQLiteDatabase db;但是我是感觉,如果是在数据库方面的话,最好是不用写在常量类里面吧,因为常量类也是得调用才可以实验的。如果我们直接把数据库的建立写在main activity里面的,每次运行都是先启动主activity,然后执行数据库的建库操作。。。我个人观点,把一下整个软件必须要初始化的参数写在main activity里面。
5还有想我们在插入数据的时候不希望重复的数据被插入数据。。但是就是刚刚那个Cursor的问题还没解决之前。个人使用发方法就是先插入,然后去重,然后判断去重后数量是否减少来判断输入的数据是否是重复的。。但是这样会出现执行效率下降的情况,只是权宜之计。
6剩下的内容待日后补充~~