java combobox 里面的值,已经从数据库的表里面提取出来了,表里面有两列,第一列是编号,

2025-04-18 18:33:15
推荐回答(2个)
回答1:

import java.sql.*;
import java.util.Vector;

public class Test {
public static void main(String[] args) {
String strQuery = "SELECT * FROM rkd";
int[] id = getID(strQuery);

//输出测试id数组
for(int e : id){
System.out.println(e);
}
}

/**
* 根据查询串获得编号数组
* @param strQuery 查询串
* @return 编号数组
*/
public static int[] getID(String strQuery) {
int[] id = null;

try {
//查询数据库中的会员id
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Exam01","sa","123456");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(strQuery);

//将所有id存入临时变量vect中
Vector vect = new Vector();
while(rs.next()){
vect.add(rs.getInt(1));
}

//将所有id转存到数组中
id = new int[vect.size()];
for(int i=0; i id[i] = Integer.parseInt(vect.get(i).toString());
}
}
catch (Exception e) {
e.printStackTrace();
}

return id;
}
}
在Combo1的下拉事件中加入代码,如下:
Private Sub combo1_DropDown()
Me.combo1.Clear
Dim CN As New ADODB.Connection
CN.Open"Provider=microsoft.jet.oledb.4.0;data source=" & App.Path &"\数据库名称.mdb"
DimJ As Integer
DimST As String
Dimrso As ADODB.Recordset
Setrso = New ADODB.Recordset
ST= "select * from 表名"
rso.Open ST, CN, adOpenKeyset, adLockOptimistic
IfNot rso.EOF Then
rso.MoveFirst
End If
ForJ = 1 To rso.RecordCount
Me.combo1.AddItem rso("字段名")
rso.MoveNext
NextJ
rso.Close
Set CN = Nothing
End sub

回答2:

登入是什么意思,说明白点。是把数据记录到数据库??