java如何将数据库中某一个int类型字段的值以数组的形式提取出来

java如何将数据库中某一个int类型字段的值以数组的形式提取出来,第1张

import javasql;

import javautilVector;

public class Test {

public static void main(String[] args) {

String strQuery = "SELECT FROM rkd";

int[] id = getID(strQuery);

//输出测试id数组

for(int e : id){

Systemoutprintln(e);

}

}

/

根据查询串获得编号数组

@param strQuery 查询串

@return 编号数组

/

public static int[] getID(String strQuery) {

int[] id = null;

try {

//查询数据库中的会员id

ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");

Connection conn = DriverManagergetConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Exam01","sa","123456");

Statement stat = conncreateStatement();

ResultSet rs = statexecuteQuery(strQuery);

//将所有id存入临时变量vect中

Vector<Integer> vect = new Vector<Integer>();

while(rsnext()){

vectadd(rsgetInt(1));

}

//将所有id转存到数组中

id = new int[vectsize()];

for(int i=0; i<idlength; i++){

id[i] = IntegerparseInt(vectget(i)toString());

}

}

catch (Exception e) {

eprintStackTrace();

}

return id;

}

}

//客户信息列表

public List CustomerInformationList(Object o, int start ,int end){

List list = new ArrayList();

String cust[]= new String[5];

CRMCustomerForm ccform =(CRMCustomerForm) o;

cust[1] = ccformgetCustomno();

cust[2] = ccformgetCustomname();

cust[3] = StringvalueOf(start);

cust[4] = StringvalueOf(end);

DBConnection db=new DBConnection(jdbcTemplate);

ResultSet rs=dbgetRsFromSp("PCK_CRM_CUSTOMERP_QUERYCustomer", cust);

try {

while(rsnext()){

CRMCustomerForm cform = new CRMCustomerForm();

cformsetCustomno(rsgetString("CUSTOMER_NO"));

cformsetCustomname(rsgetString("CUSTOMER_NAME"));

cformsetSex(rsgetString("SEX"));

cformsetIdCard(rsgetString("ID_CARD"));

cformsetCallName(rsgetString("CALL_NAME"));

cformsetDuty(rsgetString("DUTY"));

cformsetPhonework(rsgetString("PHONE_WORK"));

cformsetWorkunit(rsgetString("WORK_UNIT"));

cformsetPhonehome(rsgetString("PHONE_HOME"));

cformsetAddresshome(rsgetString("ADDRESS_HOME"));

cformsetMoble(rsgetString("MOBILE"));

cformsetEmail(rsgetString("EMAIL"));

cformsetZipcode(rsgetString("ZIPCODE"));

cformsetBirthDay(rsgetString("BIRTH_DATE"));

cformsetMarriage(rsgetString("MARRIAGE"));

cformsetBloodtype(rsgetString("BLOOD_TYPE"));

cformsetBirthplace(rsgetString("BIRTH_PALCE"));

cformsetNation(rsgetString("NATION"));

cformsetEducation(rsgetString("EDUCATION"));

cformsetCustomtype(rsgetString("CUSTOMER_TYPE"));

cformsetTeamcode(rsgetString("TEAM_CODE"));

cformsetIsvaid(rsgetString("ISVALID"));

cformsetRecorddate(rsgetString("RECORD_DATE"));

cformsetSyssno(rsgetString("SYSSNO"));

cformsetSpellsearch(rsgetString("SPELLSEARCH"));

cformsetWubisearch(rsgetString("WUBISEARCH"));

cformsetRemaks(rsgetString("REMARKS"));

listadd(cform);

}

} catch (SQLException e) {

Systemoutprintln("您所以调用的查询方法有问题。");

eprintStackTrace();

}

return list;

}

你应该new个String[]啊,你new id[]这怎么行?

如果你要取随机数,就用Mathrandom()随机范围,返回一个浮点类型。比如

int a =(int)(Mathrandom()10);返回10以内的随机数;

之后你就可以用a来做数组下标来取数组随机数了。

望采纳。。。。

楼主这是数组越界啊~看看你那2维数组有没有边界值设的比较小,还有确定下 data11=new Object[rsnum][7] ;

这个rsnum是否取到了值,是多少,还有rsnext的时候赋值超没超过数组界值,错误发生在你这个文件的第41行,走个断点看看吧

Timer time = new Timer(); //定义一个 Timer

//执行方法 里面需要一个类 可以定义一个伪类

//也可以 自己 定义一个类 继承TimerTask这个类

//里面必须实现 run方法

//run方法 里面就写你的 实做 方法

//schedule 方法有很多重载 有很多参数我用最简单的

//给你说明 第2个参数是 说 每隔一定的时间执行一次

//相关说明可以去jdk 帮助文档里面找

timeschedule(new TimerTask() {

public void run() {

int inSertValue{

try{

commection con1=con;

Statement stmt=con1createStatement();

str="(insert ……)";

……

stmtclose();

} catch()

} } //加到这里就好了!!最好把这样方法封装起来

}

}, 1000);

单独写个插入方法,每次做插入 *** 作的时候都用插入方法写。

插入多行的时候就遍历list然后循环调用方法。

你在list里面存的是你要存的对象,插入方法的参数也是那个对象。

大概就是类似这样

void insert(Object o){

//oname。 oroot插入的代码

}

class object{

string name ;

string root;

}

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javautilLinkedList;

import javautilList;

public class DataToArray {

    public static void main(String[] args) throws Exception {

        String url = "jdbc:mysql://localhost:3306/test";// 改成你的数据库连接

        Connection conn = DriverManagergetConnection(url, "root", "fuhaiwei");// 改成你用户名密码

        String sql = "select from user";// 改成你的查询语句

        PreparedStatement prestmt = connprepareStatement(sql);

        ResultSet rs = prestmtexecuteQuery();

        Object[][] data = getDataArray(rs);

        printArray(data);

        rsclose();

        prestmtclose();

        connclose();

    }

    private static void printArray(Object[][] data) {

        for (int i = 0; i < datalength; i++) {

            for (int j = 0; j < data[i]length; j++) {

                Systemoutprint(data[i][j] + " ");

            }

            Systemoutprintln();

        }

    }

    private static Object[][] getDataArray(ResultSet rs) throws SQLException {

        List<Object[]> list = new LinkedList();

        while (rsnext()) {

            // 改成你的列名

            Object[] objects = new Object[] { rsgetInt("id"), rsgetString("username"),

                    rsgetString("password") };

            listadd(objects);

        }

        return listtoArray(new Object[0][0]);

    }

}

输出效果:

一个表里的某条数据还是一个表里某个字段下所有的数据?

看看是不是你要的效果。

public class TestColumnToArray {

public static void main(String[] args) {

TestColumnToArray instance = new TestColumnToArray();

instanceconnDB();

List<Map<String, Object>> list = instancefindColumn();

Object[] data = instancegetData(list, "。。。");//。。。换成要查得字段

for (Object object : data) {

Systemoutprintln(object);

}

}

private Object[] getData(List<Map<String, Object>> list, String column) {

Object[] data = new Object[listsize()];

for (int i = 0; i < listsize(); i++) {

data[i] = listget(i)get(column);

}

return data;

}

private void connDB() {

try {

ClassforName("commysqljdbcDriver");

} catch (ClassNotFoundException e) {

Systemerrprintln("驱动加载失败!");

}

}

private List<Map<String, Object>> findColumn() {

List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String sql = "select from 。。。";//。。。换成表名

try {

conn = DriverManagergetConnection("。", "。。", "。。。");//。换成url。。换成数据库账户。。。换成数据库密码

stmt = conncreateStatement();

rs = stmtexecuteQuery(sql);

while (rsnext()) {

Map<String, Object> map = new HashMap<String, Object>();

mapput("。。。", rsgetInt(1));//。。。换成列名

mapput("。。。", rsgetInt(2));

mapput("。。。", rsgetInt(3));

listadd(map);

}

} catch (SQLException e) {

Systemerrprintln("数据库读取失败!");

} finally {

try {

if (rs != null) rsclose();

if (stmt != null) stmtclose();

if (conn != null) connclose();

} catch (SQLException e) {}

}

return list;

}

}

以上就是关于java如何将数据库中某一个int类型字段的值以数组的形式提取出来全部的内容,包括:java如何将数据库中某一个int类型字段的值以数组的形式提取出来、java怎样将数据库的查询结果保存到数组中 、JAVA数组怎么存放数据库的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/10164555.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存