java从数据库获取记录数的方法

java从数据库获取记录数的方法,第1张

import java.sql.*

public class Link {

public static void main(String[] args)

{

String sql

Connection conn

Statement stmt

ResultSet rs

try

{

String url="jdbc:sqlserver://localhost:1433databaseName=Chatroom"

String user="sa"

String password=""

conn= DriverManager.getConnection(url,user,password)

stmt=conn.createStatement()

sql="select * from Client"

rs=stmt.executeQuery(sql)

while(rs.next())

{

System.out.println(rs.getString(1))

System.out.println(rs.getString(2))

}

rs.close()

stmt.close()

conn.close()

}

catch(Exception e)

{

e.printStackTrace()

}

}

}

试试这段代码。

得先在你的sql server2000数据库中见一个数据库,名为Chatroom,然后在其中建一张表,名为Client。接下来是关键性的两步:

1。配置数据库。打开安全性-》登陆-》sa,设置sa密码为空,以和java代码中连接数据库时引用的用户名和密码一致。右键(LOCAL)(Windows NT),选择安全性身份验证选择“SQL Server和Windows”,审核级别“无”,在启动服务账户中选“系统账户”。到此数据库配置完毕。

2。在java类中添加路径驱动,右键驱动选择添加路径。

这两部完了后,应该就没什么问题了。

下面是一个从 mysql 数据获取用户数据的案例,可以参考一下:

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import java.util.ArrayList

import java.util.List

// 用户类,存储单个用户信息

class User {

private int id

private String name

public User(int id, String name) {

this.id = id

this.name = name

}

public int getId() {

return id

}

public void setId(int id) {

this.id = id

}

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

@Override

public String toString() {

return "User [id=" + id + ", name=" + name + "]"

}

}

public class Demo1 {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息

// 放到 List 中

// 加载数据驱动

Class.forName("com.mysql.jdbc.Driver")

// 数据库连接字符串, 此例数据库为 test

String url = "jdbc:mysql://localhost:3306/test"

String user = "root" // 数据库用户名

String password = "" // 数据库密码

// 打开一个数据连接

Connection conn = DriverManager.getConnection(url, user, password)

Statement stmt = conn.createStatement()

// 获取表 tb_users 所有用户信息到结果集中

ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")

// 定义一个存放用户信息的 List

List<User> users = new ArrayList<>()

// 提取用户信息,并将用户信息放入 List

while (rs.next()) {

// 获取用户ID

int id = rs.getInt(1)

// 获取用户名

String name = rs.getString(2)

users.add(new User(id, name))

}

rs.close()

stmt.close()

conn.close()

// 显示用户信息

for (User u : users) {

System.out.println(u)

}

}

}

首先明确一下,你的空指针是在哪报的错,你写的sql语句,本身也是被预编译后,放mysql执行的,

如果你selectt *方式去读取的,那么可以通过getRow或者是遍历的方式去计数,如果selectt count方式的话,可以直接通过getInt方式去读取,你上边说报了空指针,那你自己可以加一个端点进行调试


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存