为什么写不进去数据库?查询可以,插入不行。
<%@ page import="javabean.connDB" %>
<%
String id=request.getParameter("id");
session.setAttribute("shangpin",id);
connDB conn=new connDB();
int rows=conn.executeUpdate("insert into gouwuche values(username='"+session.getAttribute("username")+"' ,teaid='"+id+"')");
ResultSet rs_new=conn.executeQuery("select name,price from tea where id='"+id+"'");
while(rs_new.next()){
String name=rs_new.getString(1);
float price=rs_new.getFloat(2);
%>我的javabean:package javabean; //将该类保存到com.wgh.DB包中
import java.sql.*; //导入提供基本的数据库编程服务的包
import java.io.*; //导入提供与设备无关的输入、输出流支持的包
import java.util.*; //导入提供实用方法和数据结构的类包
public class connDB {
public Connection conn = null; //定义一个Connection对象
public Statement stmt = null; //定义一个Statement对象
public ResultSet rs = null; //定义一个ResultSet对象
private static String propFileName = "C:/connDB.properties"; //定义保存properties文件的路径的静态变量
private static Properties prop = new Properties(); //创建一个Properties对象的实例并实例化该对象
private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //保存驱动类的类名的变量
private static String dbUrl ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea";//保存连接数据库的URL地址的变量
private static String dbUser = "sa"; //保存SQL Server登录用户名的变量
private static String dbPwd = "123"; //保存SQL Server登录密码的变量
private static void loadProperty() {
try {
prop.load(new FileInputStream(propFileName)); //通过文件输入流对象加载Properties文件
dbClassName = prop.getProperty("DB_CLASS_NAME"); //读取驱动类的类名
dbUrl = prop.getProperty("DB_URL",
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea"); //读取数据库的URL地址
dbUser = prop.getProperty("DB_USER", "sa"); //读取SQL Server登录用户名
dbPwd = prop.getProperty("DB_PWD", "123"); //读取SQL Server登录密码
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
loadProperty(); //通过loadProperty方法读取properties文件中的数据库连接所需信息
try {
Class.forName(dbClassName).newInstance(); //调用Class的forName方法加载驱动程序
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
}
catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err.println(
"警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" +
dbClassName + "\r\n链接位置:" + dbUrl + "\r\n用户/密码" + dbUser + "/" +
dbPwd);
}
return conn;
}
public ResultSet executeQuery(String sql) {
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
} public int executeUpdate(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql); //执行更新操作
}
catch (SQLException ex) {
result = 0;
}
try {
stmt.close(); //关闭Statement对象
}
catch (SQLException ex1) {
}
return result;
}
public int executeUpdate_id(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);
String ID = "select @@IDENTITY as id";
rs = stmt.executeQuery(ID);
if (rs.next()) {
int autoID = rs.getInt("id");
result = autoID;
}
}
catch (SQLException ex) {
result = 0;
}
return result;
}
public void close() {
try {
if (rs != null) {
rs.close(); //关闭ResultSet结果集
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (stmt != null) {
stmt.close(); //关闭Statement
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (conn != null) {
conn.close(); //关闭Connection
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
}
<%@ page import="javabean.connDB" %>
<%
String id=request.getParameter("id");
session.setAttribute("shangpin",id);
connDB conn=new connDB();
int rows=conn.executeUpdate("insert into gouwuche values(username='"+session.getAttribute("username")+"' ,teaid='"+id+"')");
ResultSet rs_new=conn.executeQuery("select name,price from tea where id='"+id+"'");
while(rs_new.next()){
String name=rs_new.getString(1);
float price=rs_new.getFloat(2);
%>我的javabean:package javabean; //将该类保存到com.wgh.DB包中
import java.sql.*; //导入提供基本的数据库编程服务的包
import java.io.*; //导入提供与设备无关的输入、输出流支持的包
import java.util.*; //导入提供实用方法和数据结构的类包
public class connDB {
public Connection conn = null; //定义一个Connection对象
public Statement stmt = null; //定义一个Statement对象
public ResultSet rs = null; //定义一个ResultSet对象
private static String propFileName = "C:/connDB.properties"; //定义保存properties文件的路径的静态变量
private static Properties prop = new Properties(); //创建一个Properties对象的实例并实例化该对象
private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //保存驱动类的类名的变量
private static String dbUrl ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea";//保存连接数据库的URL地址的变量
private static String dbUser = "sa"; //保存SQL Server登录用户名的变量
private static String dbPwd = "123"; //保存SQL Server登录密码的变量
private static void loadProperty() {
try {
prop.load(new FileInputStream(propFileName)); //通过文件输入流对象加载Properties文件
dbClassName = prop.getProperty("DB_CLASS_NAME"); //读取驱动类的类名
dbUrl = prop.getProperty("DB_URL",
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea"); //读取数据库的URL地址
dbUser = prop.getProperty("DB_USER", "sa"); //读取SQL Server登录用户名
dbPwd = prop.getProperty("DB_PWD", "123"); //读取SQL Server登录密码
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
loadProperty(); //通过loadProperty方法读取properties文件中的数据库连接所需信息
try {
Class.forName(dbClassName).newInstance(); //调用Class的forName方法加载驱动程序
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
}
catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err.println(
"警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" +
dbClassName + "\r\n链接位置:" + dbUrl + "\r\n用户/密码" + dbUser + "/" +
dbPwd);
}
return conn;
}
public ResultSet executeQuery(String sql) {
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
} public int executeUpdate(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql); //执行更新操作
}
catch (SQLException ex) {
result = 0;
}
try {
stmt.close(); //关闭Statement对象
}
catch (SQLException ex1) {
}
return result;
}
public int executeUpdate_id(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);
String ID = "select @@IDENTITY as id";
rs = stmt.executeQuery(ID);
if (rs.next()) {
int autoID = rs.getInt("id");
result = autoID;
}
}
catch (SQLException ex) {
result = 0;
}
return result;
}
public void close() {
try {
if (rs != null) {
rs.close(); //关闭ResultSet结果集
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (stmt != null) {
stmt.close(); //关闭Statement
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (conn != null) {
conn.close(); //关闭Connection
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
}
result = 0;
}
把异常信息都显示出来啊,可能是你的sql语句错了~~~~
有这么个 添加法??
是
int rows=conn.executeUpdate("insert into gouwuche values(?,?,?)");
或int rows=conn.executeUpdate("insert into gouwuche(username,teaid) values(username,id)");
數字類型的 不要加單引號