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

java combobox 里面的值,已经从数据库的表里面提取出来了,表里面有两列,第一列是编号,第二列是编号对应的名字
(用cboSk.addItem(Rs.getString(2))combobox 里面显示的是名字,然后,我想把新写的数据登入到另一个表里的时候,用SQL文,而且登陆的是之前表单里编号而不是名字,这应该怎么写?

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<Integer> vect = new Vector<Integer>();
while(rs.next()){
vect.add(rs.getInt(1));
}

//将所有id转存到数组中
id = new int[vect.size()];
for(int i=0; i<id.length; 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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-29
登入是什么意思,说明白点。是把数据记录到数据库??
相似回答