你的是Odbc连接数据库,现在谁还用这个啊,都是JDBC了,我给你个简单的代码,你参考下:
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import javautilLinkedList;
public class TestMysql {
private static String user = "root" ;
private static String password = "root" ;
private static String url = "jdbc:mysql://127001/vsts" ;
static{
try {
ClassforName("commysqljdbcDriver") ;
} catch (ClassNotFoundException e) {
eprintStackTrace();
}
}
public static Connection getConnection(){
Connection conn = null;
try {
conn = DriverManagergetConnection(url, user, password);
if(conn != null){
Systemoutprintln("数据库连接成功") ;
}
return conn ;
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return conn ;
}
public static void setFree(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs != null){
rsclose() ;
rs = null ;
}
} catch (SQLException e) {
eprintStackTrace();
}
try {
if(stmt != null){
stmtclose() ;
stmt = null ;
}
} catch (SQLException e) {
eprintStackTrace();
}
try {
connclose() ;
} catch (Exception e) {
eprintStackTrace();
}
}
//做测试
public static void main(String[] args) throws SQLException {
getConnection() ;
}
}
第一个参数 : 数据库引擎
第二个参数 : 数据库DSN配置。Go中没有统一DSN,都是数据库引擎自己定义的,因此不同引擎可能配置不同。其实你可以去后盾人平台上看看啊,那里面的教学视频还是很高质量的。
/ stmt=null; /
// sqlstring="insert into datacong(用户名,密码,真实姓名,性别,电话,Email,身份z号码)"+
// "values('"+cong_username+"','"+cong_password+"','"+cong_realname+"','"+cong_gender+"','"+cong_tel+"','"+cong_email+"','"+cong_ID+"')";
String sqlstring2="update datacong set tel=tel+1";
int i=stmtexecuteUpdate(sqlstring2);
responsesendRedirect("Login_congjsp");
注意我用/ /标注的 在先看你下面用到了这个变了你给他的值是什么自己想想吧
执行SQL的常用的有两个接口,preparedstatement和statement。你程序里用的是preparedstatement(SQL),返回了一个存储着编译后的sql语句的preparedstatement对象,调用对象的executeQuery()方法执行sql语句取得结果集。
你的问题出在preparedstatement对象中的executeQuery()方法是没有参数的,所以你把string类型的sql转换成null是不可以的。
executeQuery(string sql)的方法是statement里执行sql语句的方法。是用来执行拼接字符串型的sql的一种方法
现在不提倡使用statement来执行sql语句了,尽可能的使用preparedstatement。
你出的问题查看一下api很容易明白
另外楼上所说的sql语句不规范的问题可以忽略,你写的sql很规范。
另外一个数值型的转换问题使用println格式化输出函数,任何类型的数值都会被转换成string类型在打印到页面上。而常用的所有int double char都可以被转换成string。问题并不出在这儿。
另一个所说的结果集下标的问题,如果你数据库中一条记录又三个字段,而你输入了rsgetString(4)那么是会报下标越界的错误,而不是转换错误(resultset归根结底也是一个数组)。
好好研究,别让别人误导
以上就是关于我在连数据库的时候出现java.lang.NullPointerException全部的内容,包括:我在连数据库的时候出现java.lang.NullPointerException、golang 的数据库 *** 作感觉不怎么好,哎,PHP 直接 mysql、java.lang.NullPointerException 关于数据库更新 *** 作的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)