想把文本框的数据添加到数据库中,应该怎么弄

tjhyzg 2011-01-21 01:46:17

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;

public class UpdateDemo extends JFrame {

// public class UpdateDemo{
private String dbURL = "jdbc:mysql://localhost/book?useUnicode=true&characterEncoding=GBK"; // 数据库标识名
private String user = "root"; // 数据库用户
private String password = ""; // 数据库用户密码

public UpdateDemo() {

super("添加一本书"); // 调用父类构造函数

Container container = getContentPane(); // 得到容器
final JTextField jtf = new JTextField(18); // 实例化地址输入框
jtf.setBounds(18, 20, 153, 25);
final JTextField jtf1 = new JTextField(18);
final JTextField jtf2 = new JTextField(18);
final JTextField jtf3 = new JTextField(18);
final JTextField jtf4 = new JTextField(18);
final JTextField jtf5 = new JTextField(18);
final JTextField jtf6 = new JTextField(18);
// JTextField jtfUrl1= new JTextField(18);
final JButton jb1 = new JButton("确定"); // 实例化按钮

JLabel jl = new JLabel("书名:");
JLabel jl1 = new JLabel("副标题:");
JLabel jl2 = new JLabel("作者:");
JLabel jl3 = new JLabel("国籍:");
JLabel jl4 = new JLabel("出版社:");
JLabel jl5 = new JLabel("价格:");
JLabel jl6 = new JLabel("ISBN:");
container.setLayout(new FlowLayout()); // 设置布局管理器
container.add(jl); // 增加组件到容器上
container.add(jtf);
container.add(jl1);
container.add(jtf1);
container.add(jl2);
container.add(jtf2);
container.add(jl3);
container.add(jtf3);
container.add(jl4);
container.add(jtf4);
container.add(jl5);
container.add(jtf5);
container.add(jl6);
container.add(jtf6);
// container.add(jtfUrl1);
container.add(jb1);
jb1.addActionListener(new ActionListener() { // 按钮事件处理
public void actionPerformed(ActionEvent ent) {
try {
String Str = jtf.getText(); // 得到图像的URL地址
String Str1 = jtf1.getText();
String Str2 = jtf2.getText();
String Str3 = jtf3.getText();
String Str4 = jtf4.getText();
String Str5 = jtf5.getText();
String Str6 = jtf6.getText();
System.out.println(Str1);

} catch (Exception ex) {
ex.printStackTrace(); // 输出出错信息
}
}
});
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动器
Connection con = DriverManager.getConnection(dbURL, user, password); // 获取连接
String sqlStr = "select * from user"; // SQL查询语句
Statement st = con.createStatement(); // 获取PreparedStatement对象
ResultSet rs = st.executeQuery(sqlStr); // 执行查询
String id, title, subhead, authors, nationality, publisher, price, isbn; // 查询结果
// int age;
System.err.println("更新前数据");
while (rs.next()) { // 遍历ResultSet
id = rs.getString("id"); // 获取数据
title = rs.getString("title");
subhead = rs.getString("subhead");
authors = rs.getString("authors");
nationality = rs.getString("nationality");
publisher = rs.getString("publisher");
price = rs.getString("price");
isbn = rs.getString("isbn");
/*
* System.out.println("id: "+id+"\ttitle:"+title+"\tsubhead:"+subhead
* +"\tauthors:"+authors+"\t nationality:"+nationality
* +"\tpublisher:"+publisher+"\tprice"+price+"\t isbn"+isbn);
* //在控制台输出数据
* /*JOptionPane.showMessageDialog(null,"序号: "+id+"\n书名:"
* +title+"\n副标题:"+subhead+"\n作者:"+authors+"\n国籍:"+nationality
* +"\n出版社:"+publisher+"\n价格"+price+"\nISBN"+isbn);
*/
setSize(800, 600); // 设置窗口尺寸
setVisible(true); // 设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序
}

// 插入操作

/* sqlStr="insert into users(name,age,sex,email) values(\'Bush\',53,\'male\',\'bush@yahoo.com\')";
st.executeUpdate(sqlStr);*/
sqlStr="insert into user(id,title,subhead,authors,nationality,publisher,price,isbn) values(4,\'维基经济学\',\'大规模协作如何改变一切\',\'唐·泰普斯科特\',\'加拿大\',\'中国青年出版社\',\'30.00\',9787500676911)";
st.executeUpdate(sqlStr);
// 执行插入数据的 SQL
//st.executeUpdate("insert into user values(4, '维基经济学', '大规模协作如何改变一切', '唐·泰普斯科特', '加拿大', '中国青年出版社', '30.00', '9787500676911')");

// 更新操作
// sqlStr="update users set age=21 where id=\'2\'";
// st.executeUpdate(sqlStr);

// 删除操作
// sqlStr="delete from users where name=\'Jinnifier\'";
// st.executeUpdate(sqlStr);

// 显示修改后结果
System.err.println("更新后数据");
sqlStr = "select * from user"; // SQL查询语句
rs = st.executeQuery(sqlStr); // 执行查询
while (rs.next()) { // 遍历ResultSet
id = rs.getString("id"); // 获取数据
title = rs.getString("title");
subhead = rs.getString("subhead");
authors = rs.getString("authors");
nationality = rs.getString("nationality");
publisher = rs.getString("publisher");
price = rs.getString("price");
isbn = rs.getString("isbn");
/*
* System.out.println("id: "+id+"\ttitle:"+title+"\tsubhead:"+subhead
* +"\tauthors:"+authors+"\t nationality:"+nationality
* +"\tpublisher:"+publisher+"\tprice"+price+"\t isbn"+isbn);
* //在控制台输出数据
* JOptionPane.showMessageDialog(null,"序号: "+id+"\t书名:"
* +title+"\t副标题:"+subhead+"\t作者:"+authors+"\t 国籍:"+nationality
* +"\t出版社:"+publisher+"\t价格"+price+"\t ISBN"+isbn);
*/
}
con.close(); // 关闭连接
} catch (Exception ex) {
ex.printStackTrace(); // 输出出错信息
}
}

public static void main(String[] args) {
new UpdateDemo();

}
}



应该添加一个按钮事件,但是我怎么该都报错,请各位前辈高手帮我改下,不胜感激!
...全文
504 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjhyzg 2011-01-21
  • 打赏
  • 举报
回复
谢谢楼上,问题解决了还想问下,我想把标签竖着排怎么操作啊
甲壳虫 2011-01-21
  • 打赏
  • 举报
回复
改了下,这样就能插进去了,你把数据库id改为自动增长类型就行了。我改数据库密码了,你改为空就行。

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class UpdateDemo extends JFrame {

// public class UpdateDemo{
private String dbURL = "jdbc:mysql://localhost/book?useUnicode=true&characterEncoding=GBK"; // 数据库标识名
private String user = "root"; // 数据库用户
private String password = "123456"; // 数据库用户密码

public UpdateDemo() {

super("添加一本书"); // 调用父类构造函数

Container container = getContentPane(); // 得到容器
final JTextField jtf = new JTextField(18); // 实例化地址输入框
jtf.setBounds(18, 20, 153, 25);
final JTextField jtf1 = new JTextField(18);
final JTextField jtf2 = new JTextField(18);
final JTextField jtf3 = new JTextField(18);
final JTextField jtf4 = new JTextField(18);
final JTextField jtf5 = new JTextField(18);
final JTextField jtf6 = new JTextField(18);
// JTextField jtfUrl1= new JTextField(18);
final JButton jb1 = new JButton("确定"); // 实例化按钮

JLabel jl = new JLabel("书名:");
JLabel jl1 = new JLabel("副标题:");
JLabel jl2 = new JLabel("作者:");
JLabel jl3 = new JLabel("国籍:");
JLabel jl4 = new JLabel("出版社:");
JLabel jl5 = new JLabel("价格:");
JLabel jl6 = new JLabel("ISBN:");
container.setLayout(new FlowLayout()); // 设置布局管理器
container.add(jl); // 增加组件到容器上
container.add(jtf);
container.add(jl1);
container.add(jtf1);
container.add(jl2);
container.add(jtf2);
container.add(jl3);
container.add(jtf3);
container.add(jl4);
container.add(jtf4);
container.add(jl5);
container.add(jtf5);
container.add(jl6);
container.add(jtf6);
// container.add(jtfUrl1);
container.add(jb1);
setSize(800, 600); // 设置窗口尺寸
setVisible(true); // 设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序
jb1.addActionListener(new ActionListener() { // 按钮事件处理
public void actionPerformed(ActionEvent ent) {
try {
String Str = jtf.getText(); // 得到图像的URL地址
String Str1 = jtf1.getText();
String Str2 = jtf2.getText();
String Str3 = jtf3.getText();
String Str4 = jtf4.getText();
String Str5 = jtf5.getText();
String Str6 = jtf6.getText();
System.out.println(Str1);
method(Str,Str1,Str2,Str3,Str4,Str5,Str6);
} catch (Exception ex) {
ex.printStackTrace(); // 输出出错信息
}
}
});

}

public void method(String str,String str1,String str2,String str3,String str4,String str5,String str6){
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动器
Connection con = DriverManager.getConnection(dbURL, user, password); // 获取连接
String sqlStr = "select * from user"; // SQL查询语句
Statement st = con.createStatement(); // 获取PreparedStatement对象
ResultSet rs = st.executeQuery(sqlStr); // 执行查询
String id, title, subhead, authors, nationality, publisher, price, isbn; // 查询结果
// int age;
System.err.println("更新前数据");
while (rs.next()) { // 遍历ResultSet
id = rs.getString("id"); // 获取数据
title = rs.getString("title");
subhead = rs.getString("subhead");
authors = rs.getString("authors");
nationality = rs.getString("nationality");
publisher = rs.getString("publisher");
price = rs.getString("price");
isbn = rs.getString("isbn");
/*
* System.out.println("id: "+id+"\ttitle:"+title+"\tsubhead:"+subhead
* +"\tauthors:"+authors+"\t nationality:"+nationality
* +"\tpublisher:"+publisher+"\tprice"+price+"\t isbn"+isbn);
* //在控制台输出数据
* /*JOptionPane.showMessageDialog(null,"序号: "+id+"\n书名:"
* +title+"\n副标题:"+subhead+"\n作者:"+authors+"\n国籍:"+nationality
* +"\n出版社:"+publisher+"\n价格"+price+"\nISBN"+isbn);
*/

}

// 插入操作

/* sqlStr="insert into users(name,age,sex,email) values(\'Bush\',53,\'male\',\'bush@yahoo.com\')";
st.executeUpdate(sqlStr);*/
// sqlStr="insert into user(id,title,subhead,authors,nationality,publisher,price,isbn) values(4,\'维基经济学\',\'大规模协作如何改变一切\',\'唐·泰普斯科特\',\'加拿大\',\'中国青年出版社\',\'30.00\',9787500676911)";
sqlStr="insert into user(title,subhead,authors,nationality,publisher,price,isbn) values('"+str+"','"+str1+"','"+str2+"','"+str3+"','"+str4+"','"+str5+"','"+str6+"')";
st.executeUpdate(sqlStr);
// 执行插入数据的 SQL
//st.executeUpdate("insert into user values(4, '维基经济学', '大规模协作如何改变一切', '唐·泰普斯科特', '加拿大', '中国青年出版社', '30.00', '9787500676911')");

// 更新操作
// sqlStr="update users set age=21 where id=\'2\'";
// st.executeUpdate(sqlStr);

// 删除操作
// sqlStr="delete from users where name=\'Jinnifier\'";
// st.executeUpdate(sqlStr);

// 显示修改后结果
System.err.println("更新后数据");
sqlStr = "select * from user"; // SQL查询语句
rs = st.executeQuery(sqlStr); // 执行查询
while (rs.next()) { // 遍历ResultSet
id = rs.getString("id"); // 获取数据
title = rs.getString("title");
subhead = rs.getString("subhead");
authors = rs.getString("authors");
nationality = rs.getString("nationality");
publisher = rs.getString("publisher");
price = rs.getString("price");
isbn = rs.getString("isbn");
/*
* System.out.println("id: "+id+"\ttitle:"+title+"\tsubhead:"+subhead
* +"\tauthors:"+authors+"\t nationality:"+nationality
* +"\tpublisher:"+publisher+"\tprice"+price+"\t isbn"+isbn);
* //在控制台输出数据
* JOptionPane.showMessageDialog(null,"序号: "+id+"\t书名:"
* +title+"\t副标题:"+subhead+"\t作者:"+authors+"\t 国籍:"+nationality
* +"\t出版社:"+publisher+"\t价格"+price+"\t ISBN"+isbn);
*/
}
con.close(); // 关闭连接
} catch (Exception ex) {
ex.printStackTrace(); // 输出出错信息
}
}
public static void main(String[] args) {
new UpdateDemo();

}
}

kai27ks 2011-01-21
  • 打赏
  • 举报
回复
你把错误代码贴出来啊。。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧