SQLite的insert方法参数是怎样的
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章给大家介绍SQLite的insert方法参数是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。看到一个API的参数不懂的时候,我们会做什么呢!Baidu,Google
千家信息网最后更新 2024年09月22日SQLite的insert方法参数是怎样的
这篇文章给大家介绍SQLite的insert方法参数是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
看到一个API的参数不懂的时候,我们会做什么呢!Baidu,Google。很少回去看源码的吧,我也是,太懒了,批评一下。啪啪~
先看一段创建数据库的代码吧。
db.execSQL("CREATE TABLE users (" + "_id INTEGER PRIMARY KEY, " + "username TEXT, " + "realname TEXT, " + "nsid TEXT, " + "buddy_icon BLOB," + "last_update INTEGER);");
我们能看到其中有一个类型是我们不常用的,BLOB,学过数据库的人肯定都知道了,但是我还是要说一下,这个表示的是二进制数据类型,比如我们可以将一个图片的数据存入其中,当然小图可以,大图就算了嘛。for example:
addUser(db, "Bob Lee", "Bob Lee", "45701389@N00", R.drawable.boblee_buddyicon);
private void addUser(SQLiteDatabase db, String userName, String realName, String nsid, int icon) { final ContentValues values = new ContentValues(); values.put(COLUMN_USERNAME, userName); values.put(COLUMN_REALNAME, realName); values.put(COLUMN_NSID, nsid); values.put(COLUMN_LAST_UPDATE, System.currentTimeMillis()); final Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), icon); writeBitmap(values, COLUMN_BUDDY_ICON, bitmap); db.insert(TABLE_USERS, COLUMN_LAST_UPDATE, values); } static void writeBitmap(ContentValues values, String name, Bitmap bitmap) { if (bitmap != null) { // Try go guesstimate how much space the icon will take when // serialized // to avoid unnecessary allocations/copies during the write. int size = bitmap.getWidth() * bitmap.getHeight() * 2; ByteArrayOutputStream out = new ByteArrayOutputStream(size); try { bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); out.flush(); out.close(); values.put(name, out.toByteArray()); } catch (IOException e) { // Ignore } } }
好了,闲话不多说了,今天要说的重点是其中的:
db.insert(TABLE_USERS, COLUMN_LAST_UPDATE, values);
参数问题,这里贴一下API说明:
public long insert (String table, String nullColumnHack, ContentValues values)Added in API level 1Convenience method for inserting a row into the database.Parameterstable the table to insert the row intonullColumnHack optional; may be null. SQL doesn't allow inserting a completely empty row without naming at least one column name. If your provided values is empty, no column names are known and an empty row can't be inserted. If not set to null, the nullColumnHack parameter provides the name of nullable column name to explicitly insert a NULL into in the case where your values is empty.values this map contains the initial column values for the row. The keys should be the column names and the values the column valuesReturnsthe row ID of the newly inserted row, or -1 if an error occurred
好吧,我相信英文不好的同学肯定会与我一样,对第二个参数的说明还是有点糊涂的,行吧,那就Baidu,有道orGoogle翻译,不过这些终究是翻译工具,只能让你有个一知半解,最终还是需要实践才能得出最终答案的。
这里用国语详细解释下这三个参数的意义:
table:数据的表的名称
nullColumnHack:当values参数为空或者里面没有内容的时候,我们insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,我们要在这里指定一个列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入。
values:ContentValues对象,差不多就是一个map.通过键值对的形式存储值,键表示的是Column,值就是对应Column的值咯。
关于SQLite的insert方法参数是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
参数
数据
数据库
内容
还是
方法
就是
时候
更多
空行
类型
要说
帮助
肯定
不错
糊涂
一知半解
到时候
差不多
三个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
操作系统支撑软件开发是做什么
云服务器怎么管理后端
登录服务器后怎么安全退出来
荣联科技工业互联网
郧阳区智能软件开发口碑推荐
网络安全微电影附近的人
vba访问sql数据库
澳门网络安全新闻
打印服务器工具
国产可远程管理的服务器主板
海弦网络收音机服务器收费吗
成都计算机移动应用软件开发
永恒纪元怎么查询当前服务器
.net与数据库连接
电信光猫改成打印服务器
网络安全 榜
淘宝网络安全漏洞维护人员
联想服务器代理商查询
新疆软件开发落后
dw数据库怎么搞
关闭一个数据库 可以单击
山东省济南市戴尔服务器代理服务
数学差能学计算机网络技术吗
银川市软件开发一般流程
网络安全主题知识竞赛
群晖比较好用的媒体服务器
为什么服务器快
潍坊 软件开发企业
改了数据库也需要重启项目
网络安全宣传黑板报简笔画