ワイヤレス センサーのシミュレーション結果のログを格納する mysql テーブルがあります。各センサーノードのノードID、各ノードのエネルギー、および各センサーのステータス、つまり送信状態か受信状態かなどを保存します。次に、各行に次の5つのフィールドを表示するJTableを作成したいと思います:NodeId 、残りのエネルギー、送信パケット数、受信パケット数、破損パケット数。
次のクエリを使用しています。
SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='sending'
SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='corrupted'
SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='recieved'
SELECT MIN(エネルギー) FROM ノード WHERE nodeid='i'
JTable コンテンツのフィールドを取得します。以下は私が書いたコードです:これを解決するのを手伝ってください。
JTable を表示できません。
import java.util.Vector.*;
import java.sql.*;
JFrame f = new JFrame();
f.setSize(800,800);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Connection Db=null;
ResultSet Results,res,rest,re;
String stetus;
Vector data = new Vector();
Vector row = new Vector(50);
JPanel p = new JPanel();
Vector<String> columnNames = new Vector<String>();
double energi,nodeid,en;
String url= "jdbc:mysql://localhost:3306/prowler";
String username="root";
String password = "not telling you";
try {
Class.forName("com.mysql.jdbc.Driver");
Db= DriverManager.getConnection(url,username,password);
}
catch(ClassNotFoundException cnf) {
System.err.println("Unable to load JDBC bridge" + cnf);
System.exit(1);
}
catch(SQLException se) {
System.err.println("Cannot connect to database" + se);
System.exit(2);
}
int num = Integer.parseInt(name.getSelectedText());
for(int i=1;i<=num;i++) {
row.addElement(i);
try {
Statement st = Db.createStatement();
Results = st.executeQuery("SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='sending'");
row.addElement(Results.getObject(1));
}
catch(SQLException se) {
System.out.println("Query Not Executed" + se);
}
try {
Statement st = Db.createStatement();
res = st.executeQuery("SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='corrupted'");
row.addElement(res.getObject(1));
}
catch(SQLException se) {
System.out.println("Query Not Executed" + se);
}
try {
Statement st = Db.createStatement();
rest = st.executeQuery("SELECT COUNT(*) FROM node WHERE nodeid='i' AND stetus='recieved'");
row.addElement(rest.getObject(1));
}
catch(SQLException se) {
System.out.println("Query Not Executed" + se);
}
try {
Statement st = Db.createStatement();
re = st.executeQuery("SELECT MIN(energi) FROM node WHERE nodeid='i'");
row.addElement(re.getObject(1));
}
catch(SQLException se) {
System.out.println("Query Not Executed" + se);
}
data.addElement(row);
}
columnNames.add("Node Id");
columnNames.add("Packets Sent");
columnNames.add("Packets Corrupted");
columnNames.add("Packets Recieved");
columnNames.add("Energy Left");
JTable table = new JTable(data,columnNames);
JScrollPane jsp = new JScrollPane(table);
p.add(jsp);
f.add(p);