java对数据库中自己保存的数据进行修改。求各路高手帮看看哪里错了!

java对数据库中自己保存的数据进行修改。求各路高手帮看看哪里错了!,第1张

"update users set password=,truename=,birthday=,sex=,interest=,remark=,where id=";

多了一个,号 remark=, 没有,

package orgdao;

import javalangreflectInvocationTargetException;

import javalangreflectMethod;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlResultSetMetaData;

import javasqlSQLException;

import javautilDate;

import orgdbcDBManageer;

import orgdbcDBUtil;

import orgvoCardInfo;

public class CardInfoDao {

public void testResultSetMetaData() {

String sql = "select from cardinfo";

Connection con = new DBUtil()getConnection();

PreparedStatement ps = null;

ResultSetMetaData rsmd = null;

ResultSet rs = null;

try {

ps = conprepareStatement(sql);

rs = psexecuteQuery();

rsmd = rsgetMetaData();

for (int i = 1; i < rsmdgetColumnCount(); i++) {

Systemoutprint(" 数据类型名:" + rsmdgetColumnClassName(i));

Systemoutprint(" 别名:" + rsmdgetColumnLabel(i));

Systemoutprint(" 列名:" + rsmdgetColumnName(i));

Systemoutprint(" 数据类型:" + rsmdgetColumnTypeName(i));

Systemoutprintln(" 数据类型:" + rsmdgetColumnType(i));

}

while (rsnext()) {

// 通过反射可以对VO对象(CardInfo)自动赋值

// for()

// CardInfo ci=new CardInfo();

// cisetId(rsgetInt(columnIndex))

/

CardInfo ca = new CardInfo(); Class cc = cagetClass();

/

/Class<> c = ClassforName("orgvoCardInfo");

CardInfo ca = (CardInfo) cnewInstance();

casetCardId(rsgetString("cardId"));

casetCustomerName(rsgetString("customerName"));

casetCurrentMoney(rsgetFloat("currentMoney"));

casetOpenDate(rsgetDate("openDate"));

Systemoutprintln(ca);//ok /

//加载一个CardInfo类

Class c = ClassforName("orgvoCardInfo");

Object o = cnewInstance(); //获得它的一个实例

//定义String类的对象数组

Class[] params = new Class[] { Stringclass};

//定义float类的对象数组

Class[] floatparams = new Class[] { floatclass};

//定义Date(util)类的对象数组

Class[] dateparams = new Class[] { Dateclass};

//获得setCardId方法

Method me = cgetMethod("setCardId", params);

//实例方法的参数

Object []ostr = new Object[]{rsgetString("cardId")};

//如果底层方法是静态的,那么可以忽略指定的 obj 参数。该参数可以为 null。

//如果底层方法所需的形参数为 0,则所提供的 args 数组长度可以为 0 或 null。

//o 调用方法的对象 ostr 方法调用的参数

meinvoke(o, ostr);

//获得setCustomerName方法

Method name = cgetMethod("setCustomerName", params);

Object []cusname = new Object[]{rsgetString("customerName")};

nameinvoke(o,cusname);

//获得setCurrentMoney方法

Method money = cgetMethod("setCurrentMoney", floatparams);

Object []cusmoney = new Object[]{rsgetFloat("currentMoney")};

moneyinvoke(o,cusmoney);

//获得setOpenDate方法

Method date = cgetMethod("setOpenDate",dateparams);

Object []openDate = new Object[]{rsgetDate("openDate")};

dateinvoke(o, openDate);

//打印

Systemoutprintln(o);

}

} catch (SQLException e) {

eprintStackTrace();

} catch (ClassNotFoundException e) {

eprintStackTrace();

} catch (InstantiationException e) {

eprintStackTrace();

} catch (IllegalAccessException e) {

eprintStackTrace();

} catch (SecurityException e) {

eprintStackTrace();

}catch (IllegalArgumentException e) {

eprintStackTrace();

} catch (NoSuchMethodException e) {

eprintStackTrace();

} catch (InvocationTargetException e) {

eprintStackTrace();

}

}

public void showResultSet() {

String sql = "select from cardinfo";

Connection con = new DBManageer()getConnection();

PreparedStatement ps = null;

try {

ps = conprepareStatement(sql, ResultSetTYPE_SCROLL_SENSITIVE,

ResultSetCONCUR_UPDATABLE);

ResultSet rs = psexecuteQuery();

Systemoutprintln("---依次读取------");

while (rsnext()) {

CardInfo ca = new CardInfo();

casetCardId(rsgetString("cardId"));

casetCustomerName(rsgetString("customerName"));

casetCurrentMoney(rsgetFloat("currentMoney"));

casetOpenDate(rsgetDate("openDate"));

Systemoutprintln(ca);

}

Systemoutprintln("---倒读------");

while (rsprevious()) {

CardInfo ca = new CardInfo();

casetCardId(rsgetString("cardId"));

casetCustomerName(rsgetString("customerName"));

casetCurrentMoney(rsgetFloat("currentMoney"));

casetOpenDate(rsgetDate("openDate"));

Systemoutprintln(ca);

}

rsabsolute(3);// 定位倒第几行

rsupdateString("customerName", "star");

// rsupdateRow();

rsbeforeFirst();

while (rsnext()) {

CardInfo ca = new CardInfo();

casetCardId(rsgetString("cardId"));

casetCustomerName(rsgetString("customerName"));

casetCurrentMoney(rsgetFloat("currentMoney"));

casetOpenDate(rsgetDate("openDate"));

Systemoutprintln(ca);

}

} catch (SQLException e) {

eprintStackTrace();

}

}

}

1:找到发布的程序文件,找到数据库的配置信息,一般都是会写在XML的配置文件里面的。如果所写死的那就没办法了,一般发布的程序都是经过编译了的。

2:如果你有源码则按照上面的方式先查找xml如果没有找到则到类文件里面查找。一般写程序的是不会把连接写代码里面的。

3:实在不行你就进入当前电脑的数据库修改它里面的这个用户的密码改为和以前的一致就可以了!

以上就是关于java对数据库中自己保存的数据进行修改。求各路高手帮看看哪里错了!全部的内容,包括:java对数据库中自己保存的数据进行修改。求各路高手帮看看哪里错了!、JAVA 实现数据库增删改查的Dao和DaoImpl的写法、java连接数据库密码修改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10140173.html

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

发表评论

登录后才能评论

评论列表(0条)

保存