当前位置: 技术问答>java相关
动态建表, 查询!!!!!!
来源: 互联网 发布时间:2015-09-20
本文导语: 我用jbuilder 和access 编写了一个数据库软件, 可以实现数据的查询, 输入, 删除等。 现在我需要添加 数据库动态建表功能 , 既用户通过一个jtextfield输入名字, 程序 以此 输入为表名, 在 数据库中建...
我用jbuilder 和access 编写了一个数据库软件, 可以实现数据的查询, 输入, 删除等。
现在我需要添加 数据库动态建表功能 , 既用户通过一个jtextfield输入名字, 程序 以此 输入为表名, 在 数据库中建立新表 , 并建立新的查询, 如querydataset。
因为我是通过一个jcombobox中的项 监听, 进行querydataset的转换, 来让界面上 的 各个dbswing组件显示数据, 所以还要动态的向此程序插入程序行 (头痛),来实现对新表的数据显示。
各位大大 有 没有好办法, 建议, 例子。。。 我 感激涕零
如星期五前 解决问题, 另加100分, 谢谢了,先!!!
up有分。
现在我需要添加 数据库动态建表功能 , 既用户通过一个jtextfield输入名字, 程序 以此 输入为表名, 在 数据库中建立新表 , 并建立新的查询, 如querydataset。
因为我是通过一个jcombobox中的项 监听, 进行querydataset的转换, 来让界面上 的 各个dbswing组件显示数据, 所以还要动态的向此程序插入程序行 (头痛),来实现对新表的数据显示。
各位大大 有 没有好办法, 建议, 例子。。。 我 感激涕零
如星期五前 解决问题, 另加100分, 谢谢了,先!!!
up有分。
|
你应该有一个表,保存你所生成的表的信息,包括中文名字、逻辑名字等等,还要有一个表保存每个表的字段信息,比如表名、字段名、中文名、数据合法验证等,然后根据这两个表的信息,动态生成insert语句等SQL语句就OK了。顺便说一下,你找一个ERP中的人事系统看看,那里面肯定是这么实现的(至少我是这样实现的)
|
public class createTable {
Statement stmt;
Connection con;
public void create() throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection(
"jdbc:oracle:thin:@133.166.200.235:1521:orajp;create=true","asset","asset");
stmt = con.createStatement();
stmt.executeUpdate("CREATE TABLE XXX " +
"TITLE VARCHAR(256) PRIMARY KEY NOT NULL, " +
"TYPE VARCHAR(20) NOT NULL)");
}
}
Statement stmt;
Connection con;
public void create() throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection(
"jdbc:oracle:thin:@133.166.200.235:1521:orajp;create=true","asset","asset");
stmt = con.createStatement();
stmt.executeUpdate("CREATE TABLE XXX " +
"TITLE VARCHAR(256) PRIMARY KEY NOT NULL, " +
"TYPE VARCHAR(20) NOT NULL)");
}
}
|
我现在做jsp程序,也用到了创建新表?关于java的图形程序我不懂。但是我想活动创建新表时,应该注意以下一些内容:查询数据库中原来是否已经存在该表;每新创建一个表应该向另一个表中写入数据,该表中的记录就是其他表的表名,也可以包括其他信息。
|
没太明白你的意思,看看这是不是你想要的结果
你需要一个额外的集合类如ArrayList,每建一个新表,随之建立一个新querydataset,把新表,新querydataset加入此集合,jcombobox加入新表名,jcombobox变化时,从ArrayList里取出要显示的表名,和相应的querydataset,并在dbswing中显示。是这样么?如果是,不如创建一个管理类来维护或者自己派生表控件,是指自己保存一个querydataset.
你需要一个额外的集合类如ArrayList,每建一个新表,随之建立一个新querydataset,把新表,新querydataset加入此集合,jcombobox加入新表名,jcombobox变化时,从ArrayList里取出要显示的表名,和相应的querydataset,并在dbswing中显示。是这样么?如果是,不如创建一个管理类来维护或者自己派生表控件,是指自己保存一个querydataset.
|
把jcombobox设为全局变量
|
难点在哪里?
如果是建新表,数据哪里来,
如果是建新表,数据哪里来,
|
xxx
|
up
|
up
|
up
|
gz
|
up
|
动态建表是不得以为之的解决方法吧。数据多了以后是一场灾难。
|
up
|
没看出来你想问什么