<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<html>
<head>
<title>添加数据</title>
</head>
<body><center>
<strong>向数据库中添加数据</strong>
<br><hr>
<%
try{
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="1128";
//数据库名
String dbName="contact";
//表明
String tableName="contact";
//连接字符串
String url="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn=DriverManager.getConnection(url);
//创建执行语句
//使用PreparedStatement添加多条记录
String sql="insert into contact values(?,?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
//添加第一条记录
pstmt.setString(1,"张斌");
pstmt.setString(2,"13456789123");
pstmt.setString(3,"039412365478");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"大小三年级,是计算机系学生");
//执行插入数据操作
pstmt.executeUpdate();
//添加第二条记录
pstmt.setString(1,"王晓");
pstmt.setString(2,"1365478921");
pstmt.setString(3,"036985474");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"清华学生,大学三年级");
pstmt.executeUpdate();
//添加第三条记录
pstmt.setString(1,"王娜");
pstmt.setString(2,"13658954621");
pstmt.setString(3,"039472065478");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"老君台中学");
pstmt.executeUpdate();
//关闭pstmt
pstmt.close();
//使用Statement一次添加一条记录
Statement stmt=conn.createStatement();
sql="insert into contact values('王艳‘,’13456789654‘,’039472065478‘,’[email protected]','2008-7-4','鹿邑邱集乡‘)";
stmt.execute(sql);
//添加完成后给出提示
out.println("++++++++++++++++++++++++++++");
out.print("<br>");
out.println("添加数据成功");
out.print("<br>");
out.println("+++++++++++++++++++++"); //关闭连接,释放资源
stmt.close();
conn.close();
}
catch(Exception e){
out.println(e);
//e.printStackTrace();
}
%>
</center>
</body>
</html>这段代码也可以成功的往数据库中添加所编的数据,就是如果我打开这段代码的页面,红色的那部分根本就显示不出来,用try catch检查来的错误是:"com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''????????????)' at line 1 ".
还有就是加载驱动程序那里的"newInstance();" 在这里是什么意思,有什么用呀。小弟刚接触数据库,希望大家不吝赐教,谢谢了!
<%@ page language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<html>
<head>
<title>添加数据</title>
</head>
<body><center>
<strong>向数据库中添加数据</strong>
<br><hr>
<%
try{
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="1128";
//数据库名
String dbName="contact";
//表明
String tableName="contact";
//连接字符串
String url="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn=DriverManager.getConnection(url);
//创建执行语句
//使用PreparedStatement添加多条记录
String sql="insert into contact values(?,?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
//添加第一条记录
pstmt.setString(1,"张斌");
pstmt.setString(2,"13456789123");
pstmt.setString(3,"039412365478");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"大小三年级,是计算机系学生");
//执行插入数据操作
pstmt.executeUpdate();
//添加第二条记录
pstmt.setString(1,"王晓");
pstmt.setString(2,"1365478921");
pstmt.setString(3,"036985474");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"清华学生,大学三年级");
pstmt.executeUpdate();
//添加第三条记录
pstmt.setString(1,"王娜");
pstmt.setString(2,"13658954621");
pstmt.setString(3,"039472065478");
pstmt.setString(4,"[email protected]");
pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
pstmt.setString(6,"老君台中学");
pstmt.executeUpdate();
//关闭pstmt
pstmt.close();
//使用Statement一次添加一条记录
Statement stmt=conn.createStatement();
sql="insert into contact values('王艳‘,’13456789654‘,’039472065478‘,’[email protected]','2008-7-4','鹿邑邱集乡‘)";
stmt.execute(sql);
//添加完成后给出提示
out.println("++++++++++++++++++++++++++++");
out.print("<br>");
out.println("添加数据成功");
out.print("<br>");
out.println("+++++++++++++++++++++"); //关闭连接,释放资源
stmt.close();
conn.close();
}
catch(Exception e){
out.println(e);
//e.printStackTrace();
}
%>
</center>
</body>
</html>这段代码也可以成功的往数据库中添加所编的数据,就是如果我打开这段代码的页面,红色的那部分根本就显示不出来,用try catch检查来的错误是:"com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''????????????)' at line 1 ".
还有就是加载驱动程序那里的"newInstance();" 在这里是什么意思,有什么用呀。小弟刚接触数据库,希望大家不吝赐教,谢谢了!
楼主【gjk11】截止到2008-07-04 15:53:55的历史汇总数据(不包括此帖):
发帖的总数量:15 发帖的总分数:340
结贴的总数量:15 结贴的总分数:340
无满意结贴数:2 无满意结贴分:70
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:13.33 % 无满意结分率:20.59 %
敬礼!
newInstance()方法
我没有链过mysql 不知道mysql的驱动是否要加那一句
sqlserver是不需要的。
就相当于new ***();
新建一个实例.
1.你的添加第一个的 pstmt.setString(1,"王娜"); 可以添加进去嘛 是否是pstmt.setInt(1,"王娜")
2.insert into contact values(?,?,?,?,?,?)"; 应该写具体
insert into contact()values();格式
3.你的 out.println("++++++++++++++++++++++++++++");
out.print(" <br>");
out.println("添加数据成功");
out.print(" <br>");
out.println("+++++++++++++++++++++");
这个代码是写在 <% %>JAVA代码中的 用System.out.println()输出在console里可以看到
如果你想看到“添加成功” 你可以这样做
把 out.print.....代码 改成 session.setAttribute("having","having") ;
然后在 JSP页面写
<%
if(!"".equals(session.getAttribute("having")) || session.getAttribute("having") != null)
{
session.removeAttribute("having");
out.println("<script language=\"javascript\">alert('添加数据成功!');window.close();</script>");
}
%>