想实现这样的功能:改变某个数据表中的一部分字段的数据类型,要改变哪些字段、改变为哪种数据类型是在程序运行当中,由用户来任意指定的。
我现在的做法是根据客户的选择,来建立一个新表,其中各字段的数据类型根据客户的选择来确定,然后从原表中逐条读取记录,将相应字段的数据经过类型转换后,写入新表。
现在的问题是,读取数据时无所谓了,因为原表都是字符型的数据,直接用ResultSet的getString()方法来读就可以了。但在写入数据时,由于事先不知道用户要指定哪种数据类型,如何选择相应的方法(setString()、setInt()、setFloat()等等)?
当然,可以判断用户的选择,根据判断结果,选择相应的方法,例如:
if(0 == userChoice.compareTo("int"))
rs.setInt(1, newValue);
但对每种数据类型都作判断是不是太麻烦了,我想知道有没有简单一些的办法。谢谢
我现在的做法是根据客户的选择,来建立一个新表,其中各字段的数据类型根据客户的选择来确定,然后从原表中逐条读取记录,将相应字段的数据经过类型转换后,写入新表。
现在的问题是,读取数据时无所谓了,因为原表都是字符型的数据,直接用ResultSet的getString()方法来读就可以了。但在写入数据时,由于事先不知道用户要指定哪种数据类型,如何选择相应的方法(setString()、setInt()、setFloat()等等)?
当然,可以判断用户的选择,根据判断结果,选择相应的方法,例如:
if(0 == userChoice.compareTo("int"))
rs.setInt(1, newValue);
但对每种数据类型都作判断是不是太麻烦了,我想知道有没有简单一些的办法。谢谢
解决方案 »
- 写了一个JAVA倒计时程序,和大家交流下。
- JAVA数据库问题
- sleep(),wait(),notifyAll()的区别
- 如何把路径写入Excel中
- 掌握了java的基本语法之后,怎样继续学下去?
- Java的基础类问题?
- 求救:jTree的一问!
- 怎么用这个接口CharSequence 的subSequence(int,int)的方法?
- 是用MJ++6.0还是JBuilder,说一说理由
- String(byte[] bytes, int offset, int length)括号里的参数是什么意思?
- 在TextArea 中怎么不可以输入信息啊
- |||||java application中如何让最大化按钮失去作用?参与有分|||||||||||
我上面说的方法主要的问题是执行效率太低,对每条记录的每个字段都要判断数据类型。
大家帮我想个方法,先对每个字段进行判断,选择相应的方法(setString()、setInt()、setFloat()等等),然后在对每条记录进行处理时,就不再反复判断了,都用选好的方法就行了。
谢谢