JAVA中JDBC也数据库连接代码问题
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;impor...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class wahaha {
private String drive = "org.gjt.mm.mysql.Driver";// 这里是驱动字符 串
private String url = "jdbc:mysql://localhost:3306/a";// 这里是连接地址
private Connection conn = null;// 这里是Connection,Connection是用来操作数据
// 库的,一切操作数据库都通过他来执行
public wahaha() {
try {
// 加载驱动,通过驱动字符串来把驱动加载到java中,驱动字符串 由数据库商来提供
Class.forName(drive);// Class.forName()就是用来把驱动加载进 java中
// 获取连接,是通过 DriverManager.getConnection()来得到连接 参数有三个
// url:就是你要连接的地址,就是你数据库的地址
// jdbc:mysql://localhost:3306/mydb jdbc:是
// 通过jdbc方式来连接,mysql:是说连接的是mysql,localhost:是地址 这里
// 代表你本机地址(可以是192.168.*.*这种)3306
// :是mysql交换的端口,mydb:是你数据库的名字,这里要更改为你要连接的数据库名称
// 例如:你的数据库abc
// root 是你数据库的用户名
// 123 是你的数据库的密码
// DriverManager.getConnection()方法返回值的是Connection,我 要的就这个Connection
// 每个数据库都有固定的 dirver和url url你要更改相关的地址 和 数据库名
conn = DriverManager.getConnection(url, "root", "root");// 返
// 回Connection
// 放到conn变量里面
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
/**
* 得到数据库连接
*
* @return Connection
*/
public Connection getconn() {
return this.conn;
}
public void handleUse(Connection conn) {
try {
String sql = "select * from users";
int i = 1;
Statement state = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
ResultSet rs = state.executeQuery(sql);//执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
while (rs.next()) {
i++;
System.out.println("第" + i + "行记录");
System.out.println("userName:" + rs.getString(3));
System.out.println("userPwd:" + rs.getString(3));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
wahaha whh= new wahaha();
Connection connectio =whh.getconn();
System.out.println("ok");
whh.handleUse(connectio);
}
}
这是一段完整的JAVA与数据库连接问题。请问,其中RS。GETSTRING(3) GETSTRING()是什么方法啊,里面数字代表什么啊?而且长度不能超过5 麻烦帮我解释下啊。 展开
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class wahaha {
private String drive = "org.gjt.mm.mysql.Driver";// 这里是驱动字符 串
private String url = "jdbc:mysql://localhost:3306/a";// 这里是连接地址
private Connection conn = null;// 这里是Connection,Connection是用来操作数据
// 库的,一切操作数据库都通过他来执行
public wahaha() {
try {
// 加载驱动,通过驱动字符串来把驱动加载到java中,驱动字符串 由数据库商来提供
Class.forName(drive);// Class.forName()就是用来把驱动加载进 java中
// 获取连接,是通过 DriverManager.getConnection()来得到连接 参数有三个
// url:就是你要连接的地址,就是你数据库的地址
// jdbc:mysql://localhost:3306/mydb jdbc:是
// 通过jdbc方式来连接,mysql:是说连接的是mysql,localhost:是地址 这里
// 代表你本机地址(可以是192.168.*.*这种)3306
// :是mysql交换的端口,mydb:是你数据库的名字,这里要更改为你要连接的数据库名称
// 例如:你的数据库abc
// root 是你数据库的用户名
// 123 是你的数据库的密码
// DriverManager.getConnection()方法返回值的是Connection,我 要的就这个Connection
// 每个数据库都有固定的 dirver和url url你要更改相关的地址 和 数据库名
conn = DriverManager.getConnection(url, "root", "root");// 返
// 回Connection
// 放到conn变量里面
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
/**
* 得到数据库连接
*
* @return Connection
*/
public Connection getconn() {
return this.conn;
}
public void handleUse(Connection conn) {
try {
String sql = "select * from users";
int i = 1;
Statement state = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
ResultSet rs = state.executeQuery(sql);//执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
while (rs.next()) {
i++;
System.out.println("第" + i + "行记录");
System.out.println("userName:" + rs.getString(3));
System.out.println("userPwd:" + rs.getString(3));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
wahaha whh= new wahaha();
Connection connectio =whh.getconn();
System.out.println("ok");
whh.handleUse(connectio);
}
}
这是一段完整的JAVA与数据库连接问题。请问,其中RS。GETSTRING(3) GETSTRING()是什么方法啊,里面数字代表什么啊?而且长度不能超过5 麻烦帮我解释下啊。 展开
展开全部
RS。GETSTRING(3)
RS 是存放了数据库返回的集合
里面的内容格式为: 1, 2, 3, 4
1 name pwd other
2 wayk 123 ~~~~
3 name 321 ...
就像你的数据库里面的表一样 上面的1234代表你的列数
你从rs里面取值的时候 要告诉rs你取的是第几列的什么类型的东西
rs.GETSTRING(3) 是取String 类型的第2列(因为rs的索引是从0开始)
while (rs.next()) {
//rs.next rs默认指向第0行,rs.next方法是让他指向下一行
i++;
System.out.println("第" + i + "行记录");
System.out.println("userName:" + rs.getString(3));
//因为你的userName是你数据库里面的第二列而且是String类型的东西 rs的索引是从0开始 所以这里是传的是3
//rs.getString(3)
System.out.println("userPwd:" + rs.getString(3));
}
对了你说为什么长度不能超过5 因为你数据库里面没有第四列 所以他找不到 当然报错喽
RS 是存放了数据库返回的集合
里面的内容格式为: 1, 2, 3, 4
1 name pwd other
2 wayk 123 ~~~~
3 name 321 ...
就像你的数据库里面的表一样 上面的1234代表你的列数
你从rs里面取值的时候 要告诉rs你取的是第几列的什么类型的东西
rs.GETSTRING(3) 是取String 类型的第2列(因为rs的索引是从0开始)
while (rs.next()) {
//rs.next rs默认指向第0行,rs.next方法是让他指向下一行
i++;
System.out.println("第" + i + "行记录");
System.out.println("userName:" + rs.getString(3));
//因为你的userName是你数据库里面的第二列而且是String类型的东西 rs的索引是从0开始 所以这里是传的是3
//rs.getString(3)
System.out.println("userPwd:" + rs.getString(3));
}
对了你说为什么长度不能超过5 因为你数据库里面没有第四列 所以他找不到 当然报错喽
展开全部
getString是从结果集ResultSet 中取值,也就是去每个字段的值
getString(3)意思是去第三个字段的值,如果三个字段名称是address,那么这里也能写成getString("address")
getStirng(n),n是从1开始,如果表中有3个字段,n最大值是3;这里长度不能超过5,是因为你的表只有5个字段
getString(3)意思是去第三个字段的值,如果三个字段名称是address,那么这里也能写成getString("address")
getStirng(n),n是从1开始,如果表中有3个字段,n最大值是3;这里长度不能超过5,是因为你的表只有5个字段
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的方法时返回满足查询条件的数据库中一条记录中第三列的值,长度不能超过五是因为表中只有5列吧
今天刚刚看了相关方面的书籍,列是从左至右编号,并且从列1开始
今天刚刚看了相关方面的书籍,列是从左至右编号,并且从列1开始
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同上面说的。
建议多看看java api的文档
建议多看看java api的文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询