只在MYSQL数据库中插入java空值
我有一个简单的jsp程序。我尝试使用java类连接mysql数据库,并且连接良好。问题是,当我试图将数据插入数据库时,只插入了“NULL”值
package DataAccessObject;
import java.sql.*;
/**
*
* @author user
*/
public class DBConnection {
private static Connection conn=null;
private static String url = "jdbc:mysql://localhost:3306/selftest";
//private static String dbName = "selftest";
private static String driver = "com.mysql.jdbc.Driver";
private static String userName = "root";
private static String password = "123456";
public static Connection getConnection(){
try{
if(conn != null){//
return conn;//if the object already exist use it
}
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,userName,password);
return conn;
}catch(Exception ex){
System.out.println("meche connect hone");
return null;
}
}
}
另一类是
//////////////////////////////////////////////////////
public class selftestDB {
public static void main (String args[])
{
selftestDB sd=new selftestDB();
}
private Statement stmt = null;
private Connection conn = null;
public selftestDB()
{
try {
conn = DBConnection.getConnection();//conection lemefter since its possible to create frm any where
stmt = conn.createStatement();
System.out.println("hay connection create honual.....enkuan des yaleh");
} catch (Exception ex) {
System.out.println("bra izi newu chigiru");
}
}
public boolean saveacc(accountDO createacc){
{
if(stmt==null)
return false;
}
try
{
System.out.println("datah save honual");
String sql="insert into account(username,password,usertype) values('"
+ createacc.getusername() + "','"
+ createacc.getpassword() + "','"
+ createacc.getusertype() + "')";
/*String sql="insert into account values(?,?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
accountDO acd=new accountDO();
String username=acd.getusername();
String password=acd.getpassword();
String usertype=acd.getusertype();
ps.setString(1, username);
ps.setString(2, password);
ps.setString(3, usertype);
ps.executeUpdate();
ps.close();
* int result=ps.executeUpdate();
*/
int result=stmt.executeUpdate(sql);
if(result>0)
{
return true;
}
else
{
return false;
}
}
catch(Exception e)
{
System.out.println(e);
return false;
}
}
}
请帮助我为什么插入“null值”[username=null password=null和usertype=null]
####记住,我还有一个类要“设置”和“获取”数据。和一个JSP页面来处理来自“表单”的请求
# 1 楼答案
这里有两件事是可能的:
变量的数据类型不匹配。(您试图通过sql查询插入的内容应与列的数据类型对应)
或者变量“username、password、usertype”的名称找不到与数据库列的映射
# 2 楼答案
您似乎从未在代码中调用saveAcc方法。在执行(添加)此类代码时,请确保初始化参数,使其具有希望添加到数据库中的值
# 3 楼答案
我不能评论,所以我只能这样回答
你在跑步前试过了吗
试一试
看看你在这里得到了什么。。。可能没有字符串值
我很确定get方法返回空值。。或者可能是不同的数据类型。你可能也需要这样做。toString()