我有这么个个需求,表的结构不确定也许有ID,NAME,DESC,也许表的结构式ID,TAG,NAME,AGE,DESC,也许只有ID这么个作为主键,也许是ID,TAG作为联合主键,现在我要写一条SQL语句,把一条记录插入到这张不确定的表中,怎么拼接字符串,现在我已经实现如下的功能了:
加主键放入到一张Map中,就当是kMap吧,这是所有的主键的名字,主键的值都在里面了,将所有的属性的名字,属性的值都放入到另外一个MAP当中,就当是vMap吧,现在表名也是上面传下来的,我们称之为TABLE吧,这时候我要拼接成这样的:
strSql="INSERT INTO " + table + "("+从kMap中把所有键拿出来并用逗号隔开+") "+values+"("+从MAP中把所有的值拿出来并用逗号隔开+")"+";";
大概就是类似一条普通的SQL插入语句,但是很多东西是放到MAP中的,这样怎么搞字符串拼接了?有知道的麻烦详细写写,谢谢了!!!!
加主键放入到一张Map中,就当是kMap吧,这是所有的主键的名字,主键的值都在里面了,将所有的属性的名字,属性的值都放入到另外一个MAP当中,就当是vMap吧,现在表名也是上面传下来的,我们称之为TABLE吧,这时候我要拼接成这样的:
strSql="INSERT INTO " + table + "("+从kMap中把所有键拿出来并用逗号隔开+") "+values+"("+从MAP中把所有的值拿出来并用逗号隔开+")"+";";
大概就是类似一条普通的SQL插入语句,但是很多东西是放到MAP中的,这样怎么搞字符串拼接了?有知道的麻烦详细写写,谢谢了!!!!
解决方案 »
- 注册时用的验证码原代码
- 如何点击屏幕出现水波纹
- workshop 新建工程 报error : Failed to instantiate class
- oracle中一个表能夠存放多个blob字段吗?
- 急求 jsp 聊天室程序,要求能显示在线人员和私聊,就这么简单(不够分,另开贴加分)
- 请教 怎么统计select avg(fen) as 平均分 from userdatefen where userid="&rs("userid")最后5次
- 问一struts小问题
- 我的TOMCAT有问题了~ 重装系统都不行了~!5.5.12的
- 一个servlet的问题
- jsp联结sqlserver.变量的传递。
- 小弟,高分求问题解决办法,大家多多支招,感激不尽
- Oracle导入导出工具
1:你的表是本身就有的,还是根据实体创建的.?
2:主键是否自动增长.?
3:如果自动增长是什么数据库.? oracle和mysql/sqlserver 的插入形式不一样
String val="";//值
根据map循环
把map的键设置到col,把map的值设置到val
循环结束后把col和val中最后的逗号去掉
然后
strSql=="INSERT INTO " + table + "("+col+") values("+val+")"+";";
如果id是int型,name是string型,你拼的sql如何判断有没有单引号?所以放Map<key,value>这种方式是不完整的,哈哈,偷笑。
sBuild.append("insert into ").append(table);
然后下面遍历你的Map,把有的列全部写进去(也就是每个entry.getKey()),注意逗号,然后append("values (" ) 然后再遍历那个Map,把你的value都写进来,并且加上'',这样拼下来应该没问题注意相应的空格,逗号和引号别忘记加了.!