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.Connectionimport 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方式去读取,你上边说报了空指针,那你自己可以加一个端点进行调试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)