更新数据库碰到的字段添加问题
2012-01-12 14:59
435 查看
import java.util.ArrayList; import java.util.HashMap; public class StringCompare { public static void main(String args[]) { String[] orginColumnName = new String[] { "author_id", "name", "sort_key" }; HashMap<String, String> sqlSentenceHashMap = new HashMap<String, String>(); sqlSentenceHashMap.put("author_id", "author_id INTEGER PRIMARY KEY"); sqlSentenceHashMap.put("name", "name TEXT NOT NULL"); sqlSentenceHashMap.put("sort_key", "sort_key TEXT NOT NULL"); alterTable("Author", orginColumnName, sqlSentenceHashMap); } private static void alterTable(String tableName, String[] orginColumnName, HashMap<String, String> sqlSentenceHashMap) { String[] dataColumnName = new String[] { "" }; ArrayList<String> differColumnName = getDiffColumnName(orginColumnName, dataColumnName); int arrayList_Length = differColumnName.size(); if (arrayList_Length > 0) { String alterString = ""; for (int i = 0; i < arrayList_Length; i++) { if ((i + 1) != arrayList_Length) alterString += (" " + sqlSentenceHashMap.get(differColumnName.get(i)) + ","); else alterString += (" " + sqlSentenceHashMap .get(differColumnName.get(i))); } System.out.println("ALTER TABLE Authors ADD COLUMN " + alterString); } } private static ArrayList<String> getDiffColumnName(String[] orginName, String[] dataName) { ArrayList<String> diffNameArrayList = new ArrayList<String>(); for (int i = 0; i < orginName.length; i++) { boolean flag = false; for (int j = 0; j < dataName.length && !flag; j++) { if (orginName[i].equals(dataName[j])) { flag = true; } else { flag = false; } } if (!flag) { diffNameArrayList.add(orginName[i]); } } return diffNameArrayList; } }
在Android中,数据库可能要添加某个字段,但是又不想Drop某个表.
于是就出现遍历检测,添加字段的一个功能函数出来........................
(备份以后用)
相关文章推荐
- 在使用AJAX更新数据库时碰到的中文乱码问题
- greendao数据库升级添加字段,修改版本后,所引发的问题
- varchar2_to_blob,应用向数据库更新LOB字段时的超时问题
- ThinkPHP框架中添加(add)或更新(save)时过滤某些字段的问题
- 关于在数据库字段中添加换行符的问题
- mvc EF 从数据库更新实体,添加视图实体时添加不上的问题
- 数据库表增加了新字段更新问题
- executeUpdate()数据库更新字段卡主问题
- 覆盖Django mysql model中save方法时碰到的一个数据库更新延迟问题
- JPA对应的数据库字段大小写问题
- 关于利用opendatasource 读取excel文件中的数据问题以及更新数据库中对应数据的问题
- 给数据库中的某个表添加一个字段!!!!!
- 使用Linq 更新数据库时遇到的一些问题及解决办法
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- QTP实例:新增用户实例,包含邮箱、手机号码的验证,还判断了添加账户是否已存在数据库的问题
- 动态给表添加删除字段并同时修改它的插入更新存储过程
- golang 数据库 空字段 问题
- 如何利用hibernate3解决数据库丢失更新问题?
- 项目问题 数据库设计字段
- 在cxf中使用配置避免增加字段导致客户端必须更新的问题