我正在尝试在NetBeans中创建一个Java应用程序,它允许用户通过GUI使用大多数MySQL RDBMS功能。我已经成功地编写了以下代码:
创建Database
)。
我被困在用户可以在刚刚创建的表中插入记录的部分。我想不出“插入表值.”查询可以根据用户要输入的表动态创建和传递。当然,该表可以有任意数量的列。
发布于 2019-10-13 16:24:16
我不知道这是不是正确的方法,但当我在过去遇到同样的问题时,我就是这样解决的:
我运行这个查询来查找表中的列数。
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_catalog = 'database_name' AND table_name = 'table_name'
然后根据no列创建一个动态sql查询:
String sql = "Insert into tablename values(";
for(int i = 1;i<=columns;i++){
sql += "?";
if (i < columns) {
sql += ", ";
}
}
sql+=");";
然后开了一份准备好的陈述
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
如果您也不知道列的约束和数据类型,请尝试解析
desc tablename
我知道这一定是最糟糕的解决办法,但它对我有效;)
https://stackoverflow.com/questions/58364961
复制相似问题