基于Oracle数据库中多个库进行动态表格生成及增、删、改、查

来源:互联网 发布:网络投资与理财方案 编辑:程序博客网 时间:2024/06/05 05:46

              这里主要说下在MVC结构的view层中运用js进行操作。

1、首先实现对Oracle数据库的数据查询显示,在TP中用<volist></volist>标签进行遍历Controller层传来的数据,在这个地方就会遇到问题,

问题一:多个库以及多个表该如何处理呢?

               解决方案:考虑到多个库中库名的选择和表名的选择,其实这两个可以放在session中使用。

                问题二:表格中有表的第一栏的属性名称,要显示动态的表头名称,以及数据库中表的选择不能出现数据库的表名(考虑安全问题),字段名这该如何处理呢?

解决方案:在数据库中建立表名与库名的对应关系表,及英文字段的对应关系在后台处理后把中文显示到前台。

 这样遍历后一个动态的表格就生成了。

2、对Oracle数据库的修改,

修改过程要往后台传入要操作的id直接写一个onclick="getTdValue(默认的rownum,该行id)"传入即可,我采用的是弹出模态窗的形式进行修改,这里会遇到模态窗里的框内值得获取,接下来就这样获取吧。

var tab=document.getElementById('table');

var cells = tab.rows.item(0).cells.length ;

function getTdValue(num,tid){
modifyid = num;
for(var i=1;i<cells-3;i++){
document.getElementById(i.toString()).value = tab.rows[tid].cells[i+1].innerText;

}
}

这里的cells加减数据是考虑到生成表格的结构,接下来就是获取修改后input里的数据,

因为在TP里边获取数据采用<volist></volist>遍历生成的input前边的标签,input的数目也是动态生成的,因此你就要考虑这个动态的问题,得到你生成的数目即可,然后循环获取拼接成的id来获取input里的数据。

var a =  new Array();
var b =  new Array();
a[0] = "ID";
b[0] = modifyid;
for(var i=2 ;i<cells-2;i++){
a[i-1] = document.getElementById('l'+(i-1).toString()).value;
b[i-1] = document.getElementById((i-1).toString()).value; 
}

这样再通过ajax得到自己拼接的字符串传到后台进行处理

3、增加一条数据

     这个可以获取本表格中的需要添加的字段和数目生成动态的模态窗即可,然后拼接字符串传到后台就行。

4、删除一条数据

这个比较简单,只需要传到后台id就行function getTdID(id){
deleteid = id;
}

这里设个全局变量,使用这个id数据会更方便。

2 0
原创粉丝点击