我在连数据库的时候出现java.lang.NullPointerException

我在连数据库的时候出现java.lang.NullPointerException,第1张

你的是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 关于数据库更新 *** 作的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9873811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存