日期:2014-05-17  浏览次数:20404 次

[求助]关于数据库的问题,不定大小
我现在通过JS代码去获取计算机上的硬件、操作系统、软件等信息
目前的想法是在数据库中建立两个表、一个硬件及系统信息,一个软件信息表 在这个俩表中再建立联系,能够进行多表查询

硬件及操作系统信息由于每台计算机都只有一个信息,所以很容易实现插入数据库
举例:
html
<li><h3>名称:</h3><input type ="text" id="osname" name="osname"></li>
js

function GetOsname(){
  var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
  var service = locator.ConnectServer(".");
  var properties = service.ExecQuery("Select * from Win32_OperatingSystem");
  var e = new Enumerator (properties);
  var p = e.item();
  return p.Caption;
}
$(document).ready(function(){
$("#osname").attr("value",GetOsname()); //给值
});

而软件不同,每台计算机上的软件数量是不定的,现在获取方法是这样的
JScript code
function GetSoft(){
        var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
        var service = locator.ConnectServer(".");
        var properties = service.ExecQuery("Select * from Win32_Product");
        var e = new Enumerator (properties);
        var softlist="";
        var i = 0;
        for (;!e.atEnd();e.moveNext ()){
            var p = e.item();            
            softlist = softlist + "<li><input type ='text' id='soft" + i + "' name='soft" + i + "' value='" + p.Name +"'></li>"; 
            i = i + 1;
        }
        softlist = softlist + "<li><h3>软件计数:</h3><input type ='text' id='softcunt' value='" + i +"'></li>";
        return softlist;
}


 $("#softlist").append(GetSoft());
这样获得的id就是soft1,soft2,..这样软件结果是不定的,
能不能实现每台计算机的软件在软件表中只对应一行数据?能的话,要如何做?如何建立两表的关系比较好?

或者是我这样的建表思路就有问题?希望能指点下,要如何建表及建立表之间的联系

谢谢


------解决方案--------------------
直接设置外键不就可以了?另外,你的JS读取的信息是不是通过AJAX,我想你完成不了这个开发