java中如何获取结果集ResutSet的总条数

java中如何获取结果集ResutSet的总条数,第1张

java中获取结果集ResutSet的总条数,可以直接使用其提供的getRow方法来取得,实例如下:

PreparedStatement pstate = null;//声明一个PreparedStatement类

String sql = "SELECT  FROM CHE_GOOD WHERE TITLE LIKE ";//从数据库中查询

pstate = conprepareStatement(sql,

javasqlResultSetTYPE_SCROLL_INSENSITIVE,

javasqlResultSetCONCUR_READ_ONLY);

pstatesetString(1, "%" +greatwqs+ "%");

}

ResultSet result = pstateexecuteQuery();//声明一个结果集类

resultlast();

int rowcount = resultgetRow();//获得总条数

在Java中,获得ResultSet的总行数的方法有以下几种。

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);

ResultSet rset = stmtexecuteQuery("select from yourTableName");

rsetlast();

int rowCount = rsetgetRow(); //获得ResultSet的总行数

第二种:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rset = stmtexecuteQuery("select from yourTableName");

int rowCount = 0;

while(rsetnext()) {

rowCount++;}rowCount就是ResultSet的总行数。

(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。

(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 20中才定义的,在JDBC API 10中没有这个方法。

在oracle数据库里怎么把char类型的字段转换成date类型

to_date(char型, 格式)

格式是当前char型的日期表现形式;如"MAR 16,2011"的格式为"MON DD,YYYY"。

SQL数据库里存的image类型的字段怎么转换成base64的字符写到XML文件里

ConvertToBase64String()方法。此方法有重载,自己选择适当的方法使用

oracle怎么将date类型转换成char类型?

可以这样 to_char(date,'YYYY')='2010'

或者 to_date(date,'YYYY-MM-DD :HH24:MI:SS')='2010-1-1 16:26:22'

其中 HH24 是24小时制的

oracle的作用:

是甲骨文公司的一款关系数据库管理系统。

它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。

它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

sql语句怎么将int类型的字段全部数据(字段数据如200301)转换成datetime类型?

sql server 数据库

select convert(datetime,substring(日期字段,1,4)+'-'+substring(日期字段,5,2)+'-'+substring(日期字段,7,2))

from 来源表

oracle数据库 select to_date(字段||'','yyyymm') from dual;

关于springmvc怎么自动把前台string类型日期字段转换成date类型

简单点处理,就是接收string,然后string转成date,就不用spring自动转换了

其实道理一样,spring帮你做这个转换跟你自己做转换区别不大

oracle数据库CLOB类型怎么转换为String?

给你段参考代码,读取clob数据

import javaioInputStream;

import javaioReader;

import javasqlConnection;

import javasqlResultSet;

import javasqlStatement;

public class TestClobOut {

public static void main(String args[]){

String data;

Reader inStream=null;

获得数据库连接

Connection con = ConnectionFactorygetConnection();ConnectionFactory类是另外定义的,不必纠结

consetAutoCommit(false);

Statement st = concreateStatement();

不需要“for update”

ResultSet rs = stexecuteQuery("select CLOBATTR from TESTCLOB where ID=1");

if (rsnext())

{clob 转换 String (传入 clob 类型的 obj 对象)

public static String getClob2String(Object obj) {

String str = "";

try {

CLOB clob = (CLOB) obj;

if (clob == null || cloblength() == 0) {

str = "";

} else {

long clen = cloblength();

char clobArray[] = new char[(int) clen];

int readednum = clobgetChars(1, (int) clen, clobArray);

StringBuffer = new StringBuffer();

append(clobArray);

str = toString();

}

} catch (SQLException e) {

eprintStackTrace();

}

return str;

}

javasqlClob clob = rsgetClob("CLOBATTR");

inStream = clobgetCharacterStream();

char[] c = new char[(int) cloblength()];

inStreamread(c);

data是读出并需要返回的数据,类型是String

data = new String(c);

inStreamclose();

}

inStreamclose();

conmit();

conclose();

}

}

怎样把textbox类型转换成money类型插入数据库

首先,你必须要确定你的文本框中输入的字符串可以正常转换成数值,然后直接按字符串代入到SQL语句中,不需要转换,代入时,可以考虑下面这个办法:

drsopen "select from 表名 where MoneyField="+cstr(val(text1text)),your

经过两次VB下的数据转换,是为了把文本框当中的内容转换成确实可以被SQL解释为Money的字符串

如何将String类型的日期转换成javasqlDate类型存进数据库

DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");

Date date = fmtparse(String的date);

转化的就是date了

怎么把字符串类型的数据用java语言转换成oracle数据库能识别的日期类型

oracle中有把字符产转换为日期的函数啊,TO_DATE('2009-10-01','YYYY-MM-DD'),你在Java中sql语句里直接用就可以了啊。如果你是想在Java中把字符串转换成日期型用如下的方法:String str="2009-10-01";

SimpleDateFormat st=new SimpleDateFormat("yyyy-MM-DD");

try {

Date date = stparse(str);

Systemoutprintln(date);

} catch (ParseException e) {

eprintStackTrace();

}

数据库里字段是uniqueidentifier类型的,怎么 *** 作

这个就是唯一字段类型。 sqlserver 赋值是用newid()。 会自动生成一个uniqueidentifier类型的唯一值。 其他 *** 作于其他类型值一样。

import javautilArrayList; import javautilArrays; import javautilCollection; import javautilHashSet; import javautilList; import javautilSet; /  用给定的4个整数通过加减乘除运算得到24点,如果有多种情况,则全部输出,如果不能得到24点,输出提示<br>   @思路:将指定的4个数字进行全排列,将运算符‘+’、‘-’、‘’、‘/’取3个进行所有情况排列,  然后将所有的数字排列与所有的运算符排列按顺序计算,  如果最后计算结果等于想要的结果值比如24,则为符合条件的运算,  将所有符合条件的数字排列和运算符排列存储起来,并在最后打印输出所有可能的情况   @author chenjie  / public class TwentyFourPoint { public static void main(String[] args) { try { Set<String> set = caculate(new int[] { 18, 18, 6, 12 }, 24); printlnResultSet(set); } catch (Exception e) { // eprintStackTrace();开发期间方便查找错误,测试通过后就无需打印错误信息了 Systemerrprintln(egetMessage()); } } /  打印结果集   @param resultSet  结果集 / private static void printlnResultSet(Collection<String> resultSet) { for (String str : resultSet) { Systemoutprintln(str); } } /  得到给定整形数组的全排列情况   @param numbers  给定的整形数组  @return 全排列数组 / private static int[][] arrangeAllNumbers(int[] numbers) { List<int[]> list = new ArrayList<int[]>(); allSort(numbers, 0, numberslength - 1, list); int[][] resultSet = new int[listsize()][listget(0)length]; resultSet = listtoArray(resultSet); return resultSet; } /  得到给定的 *** 作中出现的所有 *** 作符排列情况   @param operators  出现的 *** 作符数组  @param number  每组 *** 作符的数量  @return 所有 *** 作符排列数组 / private static char[][] arrangeAllOperators(char[] operators, int number) { int setSize = (int) Mathpow(operatorslength, number); int index = 0; char[][] resultSet = new char[setSize][number]; for (int i = 0; i < operatorslength; i++) { for (int j = 0; j < operatorslength; j++) { for (int k = 0; k < operatorslength; k++) { resultSet[index][0] = operators[i]; resultSet[index][1] = operators[j]; resultSet[index][2] = operators[k]; index++; } } } return resultSet; } /  根据给定的一组整数,通过加减乘除运算,得到想要的结果,如果可以得到结果,则返回所有可能的结果的运算形式。  返回的运算形式,均按从左到右的顺序计算,并不是遵循四则运算法则,比如:<br>  输出的结果形式为:<br>  1  8 - 6  12 = 24 <br>  表示的运算顺序是:<br>  1:1  8 = 8,<br>  2:8 - 6 = 2,<br>  3:2  12 = 24<br>  而不是按照四则运算法则计算:<br>  1:1  8 = 8,<br>  2:6  12 = 72,<br>  3:8  72 = 576<br>    @param numbers  给定进行运算的一组整数,4个数为一组  @param targetNumber  想要得到的结果  @return 所有可能得到想要的结果的所有运算形式的字符串形式集合  @throws Exception  如果不能得到想要的结果,则抛出该异常,表明根据指定的一组数字通过一系列的加减乘除不能得到想要的结果 / public static Set<String> caculate(int[] numbers, int targetNumber) throws Exception { Set<String> resultSet = new HashSet<String>();// 这里用Set而不是用List,主要是因为当给定的一组数字中如果有重复数字的话,同一结果会被出现多次,如果用List存放的话,会将重复的结果都存放起来,而Set会自动消除重复值 char[][] operatorsArrangement = arrangeAllOperators(new char[] { '+', '-', '', '/' }, 3); int[][] numbersArrangement = arrangeAllNumbers(numbers); for (int[] nums : numbersArrangement) for (char[] operators : operatorsArrangement) { int result = 0; try { result = caculate(nums, operators); } catch (Exception e) {// 出现非精确计算 continue; } if (result == targetNumber) resultSetadd(buildString(nums, operators, targetNumber));// 如果计算后的结果等于想要的结果,就存放到集合中 } if (resultSetisEmpty()) throw new Exception("给定的数字:" + ArraystoString(numbers) + "不能通过加减乘除运算得到结果:" + targetNumber); return resultSet; } /  将一组整型数字以给定的 *** 作符按顺序拼接为一个完整的表达式字符串   @param nums  一组整型数字  @param operators  一组 *** 作符  @param target  目标值  @return 拼接好的表达式字符串 / private static String buildString(int[] nums, char[] operators, int target) { String str = StringvalueOf(nums[0]); for (int i = 0; i < operatorslength; i++) { str = str + ' ' + operators[i] + ' ' + nums[i + 1]; } str = str + " = " + target; return str; } /  将给定的一组数字以给定的 *** 作符按顺序进行运算,如:int result = caculate(new int[]{3,4,5,8}, new  char[]{'+','-',''});   @param nums  一组数字  @param operators  一组运算符,数量为数字的个数减1  @return 最后的计算结果  @throws Exception  当计算结果不精确时,抛出该异常,主要是针对除法运算,例如18 / 8 = 2,诸如这样不精确计算将抛出该异常 / private static int caculate(int[] nums, char[] operators) throws Exception { int result = 0; for (int i = 0; i < operatorslength; i++) { if (i == 0) { result = caculate(nums[i], nums[i + 1], operators[i]); } else { result = caculate(result, nums[i + 1], operators[i]); } } return result; } /  根据指定 *** 作符将两个给定的数字进行计算   @param num1  数字1  @param num2  数字2  @param operator   *** 作符,只能从“+、-、、/”4个 *** 作符中取值  @return 计算结果  @throws Exception  当计算结果不精确时,抛出该异常,主要是针对除法运算,例如18 / 8 = 2,诸如这样不精确计算将抛出该异常 / private static int caculate(int num1, int num2, char operator) throws Exception { double result = 0; switch (operator) {// 根据 *** 作符做相应的计算 *** 作 case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '': result = num1  num2; break; case '/': result = (double) num1 / (double) num2; break; } if (!check(result)) throw new Exception("不精确的计算数字"); return (int) result; } /  检查指定的浮点数是否可以直接转换为整型数字而不损失精度   @param result  要检查的浮点数  @return 如果可以进行无损转换,返回true,否则返回false / private static boolean check(double result) { String str = StringvalueOf(result); int pointIndex = strindexOf("");// 小数点的下标值 String fraction = strsubstring(pointIndex + 1); return fractionequals("0")  true : false;// 通过判断小数点后是否只有一个0来确定是否可以无损转换为整型数值 } /  对传入的整型数组buf进行全排列   @param buf  要进行全排列的整型数组  @param start  开始的下标值  @param end  结束下标值  @param list  保存最后全排列结果的集合 / private static void allSort(int[] buf, int start, int end, List<int[]> list) { if (start == end) {// 当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可 int[] a = new int[buflength]; Systemarraycopy(buf, 0, a, 0, alength); listadd(a); } else {// 多个字母全排列 for (int i = start; i <= end; i++) { int temp = buf[start];// 交换数组第一个元素与后续的元素 buf[start] = buf[i]; buf[i] = temp; allSort(buf, start + 1, end, list);// 后续元素递归全排列 temp = buf[start];// 将交换后的数组还原 buf[start] = buf[i]; buf[i] = temp; } } } } 

以上就是关于java中如何获取结果集ResutSet的总条数全部的内容,包括:java中如何获取结果集ResutSet的总条数、在Java中,如何通过在数据库得到的结果集得到表的列数和行数、在oracle数据库里怎么把char类型的字段转换成date类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9502902.html

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

发表评论

登录后才能评论

评论列表(0条)

保存