java中 String strurl; Connection conn; Statement stmt; ResultSet rs;是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 String strurl; Connection conn; Statement stmt; ResultSet rs;是啥意思相关的知识,希望对你有一定的参考价值。
String strurl 不知道是不是指连接数据库的url地址Connection conn 指的是数据库连接对象
Statement 你可以把他理解是一个可以执行sql语句的对象
result 你执行sql语句后肯定会返回一个结果 这个结果就放在这里面..
再给你复制一段例子吧..
// 这里是sqlserver的例子
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//创建连接对象
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=test", "sa", "123");
//创建语句对象
Statement stm=con.createStatement();
//得到结果集
ResultSet rs= stm.executeQuery(" select * from users ");
Users user=new Users();
while(rs.next())
user.setUid(rs.getInt("uid"));
user.setUname(rs.getString("uname"));
user.setUpwd(rs.getString("upwd"));
rs.close();
stm.close();
con.close(); 参考技术A Connection是用于将JAVA和数据库连接的类
Statement是一个接口,提供了向数据库发送执行语句和获取结果的方法
ResultSet是接口是用来创建存放从数据库里得到的结果的对象
正解 参考技术B String不用说吧,一个字符串变量
Connection是用于将JAVA和数据库连接的类
Statement是一个接口,提供了向数据库发送执行语句和获取结果的方法
ResultSet是接口是用来创建存放从数据库里得到的结果的对象 参考技术C 从连接数据库到与数据库交互,
String strurl 为连接数据库的地址
conn 连接数据库的对象
stmt 定义数据库的操作语句
rs 则返回查询数据库的结果集 参考技术D 这是数据库连接操作的变量,
strurl是数据库的url
conn是获得数据库驱动
stmt是数据库操作
rs是结果集
java - 从方法返回数组
【中文标题】java - 从方法返回数组【英文标题】:java - return array from method 【发布时间】:2014-12-14 16:00:36 【问题描述】:我创建了这个 sn-p:
public static String[] get_data()
conn = getInstance();
String[] data_array = null;
if(conn != null)
Statement query;
try
query = conn.createStatement();
String sql = "SELECT data_x FROM table_x";
ResultSet result = query.executeQuery(sql);
result.next();
int count = result.getInt("data_x");
result.close();
data_x_array = new String[count];
for (int x = 1; x <= count; x++)
String data_x = result.getString(x);
data_x_array[x] = data_x;
catch (SQLException e)
e.printStackTrace();
return data_x_array;
我刚刚创建了一个类,将数据库中的数据收集到一个数组中。
现在我只想从这个方法返回数组。
但我得到的是:
data_array cannot be resolved to a variable
谁能帮帮我?
您好!
更新:
我把 sn-p 改成:
public static String[] get_data()
conn = getInstance();
String[] data_array = null;
if(conn != null)
Statement query;
try
query = conn.createStatement();
String sql = "SELECT data_x FROM table_x";
ResultSet result = query.executeQuery(sql);
result.next();
int count = result.getInt("data_x");
result.close();
data_array = new String[count];
for (int x = 1; x <= count; x++)
String data_x = result.getString(x);
data_x_array[x] = data_x;
catch (SQLException e)
e.printStackTrace();
return data_x_array;
当我只编译时:
Invalid value for getInt() - 'value_in_table'
有人知道吗?
您好!
【问题讨论】:
data_array
与return(data_array);
不在同一范围内
您声明了 data_array 但尝试使用 data_x_array
【参考方案1】:
还有一件事大家忘了提
String[] data_array = new String[999];
for (int x = 0; x <= 999; x++)
将抛出 ArrayIndexOutOfBoundsException。 可能的解决方案
String[] data_array = new String[999];
for (int x = 0; x < 999; x++)
【讨论】:
【参考方案2】:您已在 while
循环内定义了变量,即它对 return
语句不可见。另外,您已将您的方法定义为static void
,这意味着不需要返回值。请改用static String []
。
【讨论】:
更新了我的帖子,可以参考一下吗?【参考方案3】:由于它在 while 循环块之外无法访问,因此 compile 抱怨同样的问题。 试试这个:
public static String[] get_data()
conn = getInstance();
String[] data_array = null;
if(conn != null)
Statement query;
try
query = conn.createStatement();
String sql = "SELECT data_x FROM table_x";
ResultSet result = query.executeQuery(sql);
while (result.next())
String data_x = result.getString("data_x");
data_array = new String[999];
for (int x = 0; x <= 999; x++)
data_array[x] = data_x;
catch (SQLException e)
e.printStackTrace();
return data_array;
【讨论】:
【参考方案4】:String[]
的声明与 return 语句不在同一范围内。
你需要在作用域的开头声明它。
而且你需要把函数的头部改成:
public static String[] get_data()
【讨论】:
【参考方案5】:这里有两点需要解决:
public static void get_data()
此方法被声明为不返回任何内容。将其更改为:
public static String[] get_data()
您的变量String[] data_array
是在while 循环中声明的,因此它只在那里为人所知。您的 return 语句在该循环之外,因此它无权访问它。
将变量移出循环:
String sql = "SELECT data_x FROM table_x";
ResultSet result = query.executeQuery(sql);
String[] data_array = new String[999];
请注意,您需要将声明和初始化移到while
循环之外,否则您将通过再次初始化来覆盖该数组先前存储的数据。另外请注意,您的for
循环无论如何都会覆盖当前数据……您应该考虑将行数据存储在另一个数组中,否则它将丢失。
【讨论】:
以上是关于java中 String strurl; Connection conn; Statement stmt; ResultSet rs;是啥意思的主要内容,如果未能解决你的问题,请参考以下文章