我正在制作一个Java程序来保存我的所有网站数据。 该计划如下。
我可以添加网站,网址,登录名,密码,IP,托管等。为此,它会创建一个表“websiteinf”。
每次我添加一个新网站。它会自动在我的数据库中创建另一个新表。该表是bl_websitename。对于添加的每个网站,表格都不同。 bl_website1,bl_website2 ......但它始终以bl _开头。
我想创建另一个名为backlinks.java的JFrame表单
我首先想要为数据库中的每个表添加按钮,从bl _
开始我希望这是动态发生的。所以每次我注册一个新网站。我的backlinks.java表单中会自动出现一个新按钮。
我知道如何手动完成。但我想知道是否可以在创建以bl_开头的新表时自动创建按钮。
在这一方面,一些帮助会非常好。
这是将新网站添加到我的数据库table =>的代码。网站 它会为每个网站自动创建一个新的数据库表=> bl_mywebsite
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null, "This Will Add New Website!","Add New Website",JOptionPane.YES_NO_OPTION);
if (x==0){
try { String sql ="insert into website " + "(website,url,login,password," +
"hostingaccount,hostingip,hostingusername," + "hostingpass) values (?,?,?,?,?,?,?,?) ";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_website.getText());
pst.setString(2,txt_url.getText());
pst.setString(3,txt_login.getText());
pst.setString(4,txt_password.getText());
pst.setString(5,txt_hostingaccount.getText());
pst.setString(6,txt_hostingip.getText());
pst.setString(7,txt_hostingusername.getText());
pst.setString(8,txt_hostingpassword.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Data is saved successfully");
String add1 = txt_website.getText();
String sql2 = "CREATE TABLE IF NOT EXISTS 'bl_"+add1+"' (\n"
+ " id integer PRIMARY KEY,\n"
+ " fullurl text NOT NULL,\n"
+ " fromm text NOT NULL,\n"
+ " too text NOT NULL,\n"
+ " anchor text NOT NULL,\n"
+ " date text NOT NULL);";
pst = conn.prepareStatement(sql2);
pst.execute();
JOptionPane.showMessageDialog(null, "New website backlink profile added:\n"+"Website: '"+add1+"'" );
}
catch (Exception e)
{ JOptionPane.showMessageDialog(null,e); }
finally
{ try
{ rs.close(); pst.close(); }
catch(Exception e){ } }
// TODO add your handling code here:
}
// TODO add your handling code here:
}
此代码位于addWebsite.java
中我想做的是从addWebsite.java里面,在backlinks.java中创建一个按钮,其中按钮名称将是刚添加的网站名称。
当我点击它时,我可以添加新的反向链接到JFrame表单。 我知道怎么做。
我唯一需要帮助的是在addWebsite.java上添加新网站并创建新表bl_name-of-website时,在backlinks.java上创建一个按钮。
所以我应该能够在addlinks.java中执行的addWebsite.java中编写代码
对不起,如果这有点令人困惑。但我真的不知道更好的解释方法。我已经在网上寻找这个约12个小时:-)
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null, "This Will Add New Backlink!","Add New Backlink",JOptionPane.YES_NO_OPTION);
if (x==0){
try { String sql ="insert into bl_kruidenland (fromm,too,anchor) values (?,?,?) ";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_blfrom.getText());
pst.setString(2,txt_blto.getText());
pst.setString(3,txt_anchor.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Backlink is saved successfully");
}
catch (Exception e)
{ JOptionPane.showMessageDialog(null,e); }
finally
{ try
{ rs.close(); pst.close(); }
catch(Exception e){ } }
// TODO add your handling code here:
}
// TODO add your handling code here:
}
这是我的backlinks.java,我手动添加了一个按钮“kruidenland”。单击该按钮时,它会将反向链接信息添加到表bl_kruidenland。
我希望在创建bl_somewebsite时,此按钮会自动显示。然后在单击按钮时运行相同的SQL自动。唯一改变的是表bl_kruidenland到表bl_SomeNewWebsiteIjustAdded。
在这里,我在backlinks.java中添加了一个新的“保存”按钮
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null, "This Will Add New Backlink!","Add New Backlink",JOptionPane.YES_NO_OPTION);
if (x==0){
String add1 = txt_search.getText();
try { String sql ="insert into bl_"+add1+" (fromm,too,anchor) values (?,?,?) ";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_blfrom.getText());
pst.setString(2,txt_blto.getText());
pst.setString(3,txt_anchor.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Backlink is saved successfully");
}
catch (Exception e)
{ JOptionPane.showMessageDialog(null,e); }
finally
{ try
{ rs.close(); pst.close(); }
catch(Exception e){ } }
// TODO add your handling code here:
}
这样我就可以在搜索栏中输入网站名称。没有扩展或协议(https和.com)
因此,它将使用表bl_SearchTextWhichIsTypedIn,因此保存在该表中。
问题解决了。但是,如果每次都有一个新按钮,它仍然会更好。
无论如何有任何想法???