询问一个对于我来说非常重要的问题,回答者均有分 gzwrj(我无知,所以我有智慧):我的意思是能够在程序中动态知道表有多少列. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 rs.getString(1),rs.getString(2)........ java.sql.ResultSet.getMetaData().下的方法够你用得了 ResultSetMetaData rsmd = rs.getMetaData();int numberOfColumns = rsmd.getColumnCount(); 使用元数据.代码:ResultSetMetaData meta=rs.getMetaData();int iSize=meta.getColumnCount();//动态得到列数Vector vec=new Vector(); for(int i=1;i<=iSize;i++){ String s=meta.getColumnName(i);//得到列的名字 vec.addElement(s); } 1. db2中可以做到:select colcount from syscat.tables where tabname='TEST'2。不知道列名怎么取得出,不明白. 不知道列名就用rs.getString(n), n=1,2,3....看你当初建表时是什么顺序了.. 将结果集存入一个向量中,全部存为String类型ResultSetMetaData rsmd = rs.getMetaData();int ColCount = rsmd.getColumnCount() ; //列个数Vector vect = new Vector(); //用于存放结果集while(rs.next()){ Vector rec_vector=new Vector(); //从结果集中取一条数据放入rec_vector中 for(int i = 1 ;i<=ColCount;i++){ String ColName = rsmd.getColumnName(i).toLowerCase();//列名 String str = rs.getString(ColName); rec_vector.addElement(str); } vect.addElement(rec_vector);//向量rec_vector加入向量vect中} for(int i = 1 ;i<=ColCount;i++){ String ColName = rsmd.getColumnName(i).toLowerCase();//列名 //此处其实你可以得到对应列名的类型,见下 int ColType = rsmd.getColumnType(i) ; //类型 int digits = rsmd.getScale(i);然后可以针对不同的类型(即上面两个int变量)做不同的getType处理你若需要,我可以写个给你 RessultSet rs= statement.executeQuery("kkk");ResultSetMetaData rsmd=rs.getMetaData();rsmd.getColumnCount(); 同意---》caoandge(我爱编程)的。建议这个 你说的的确不错,我是Java的忠实爱好者,但是目前公司用的是VB,还是这位大侠眼睛明亮,看出是用ADO的. 得到RsDim col As Integercol = rs.Fields.Count '得到列数Dim i As IntegerDim dict As Scripting.DictionarySet dict = New Scripting.Dictionary'存储列名For i = 0 To col - 1 If Not rs.EOF Then dict(i) = rs.Fields(i).Name rs.MoveNext End IfNext shuhw(萧何) 非常感谢,不过我的帖子已经结帐了,不能给分数了,非常抱歉. 关于java的继承 java算法 急求!! 请问在JAVA里怎么认识字符串中有没有中文? 求助,包含ImageIO类的方法不能运行? 请教有关java写文件时 回车换行符不能正常显示的问题 如何在应用程序里调用IE访问web页面? 怎么样取得URL中的特殊符号比如"+"、"&"、"?"、单引号、双引号等?? 高分请教:如何在java的application中调用C的动态链结库???紧急 老大帮忙啊!30分 很简单的Swing问题,谁能帮我解决啊!!! 如何传递事件 想学java,不知从何入手
int numberOfColumns = rsmd.getColumnCount();
ResultSetMetaData meta=rs.getMetaData();
int iSize=meta.getColumnCount();//动态得到列数
Vector vec=new Vector();
for(int i=1;i<=iSize;i++){
String s=meta.getColumnName(i);//得到列的名字
vec.addElement(s);
}
select colcount from syscat.tables where tabname='TEST'2。不知道列名怎么取得出,不明白.
看你当初建表时是什么顺序了..
int ColCount = rsmd.getColumnCount() ; //列个数
Vector vect = new Vector(); //用于存放结果集
while(rs.next()){
Vector rec_vector=new Vector(); //从结果集中取一条数据放入rec_vector中
for(int i = 1 ;i<=ColCount;i++){
String ColName = rsmd.getColumnName(i).toLowerCase();//列名
String str = rs.getString(ColName);
rec_vector.addElement(str);
}
vect.addElement(rec_vector);//向量rec_vector加入向量vect中
}
String ColName = rsmd.getColumnName(i).toLowerCase();//列名
//此处其实你可以得到对应列名的类型,见下
int ColType = rsmd.getColumnType(i) ; //类型
int digits = rsmd.getScale(i);
然后可以针对不同的类型(即上面两个int变量)做不同的getType处理
你若需要,我可以写个给你
ResultSetMetaData rsmd=rs.getMetaData();
rsmd.getColumnCount();
建议这个
Dim col As Integer
col = rs.Fields.Count '得到列数
Dim i As Integer
Dim dict As Scripting.Dictionary
Set dict = New Scripting.Dictionary'存储列名
For i = 0 To col - 1
If Not rs.EOF Then
dict(i) = rs.Fields(i).Name
rs.MoveNext
End If
Next
非常感谢,不过我的帖子已经结帐了,不能给分数了,非常抱歉.