0
我已經制作了一個Pogram,我需要將選定的列從數據庫存儲到JTable
,並且我還必須將一些數據從JTextField
存儲到JTable
我嘗試了很多東西,但它沒有得到正確的結果,它顯示錯誤,如java.lang.ArrayIndexOutOfBoundsException:0
源代碼太長,不夠粘貼,但我粘貼了一些有用的線,讓你瞭解我的問題。如何將選定列從數據庫中的數據庫轉換爲Java中的JTable
該數據庫具有一些列,如:
/*** ProductInfo Table******//
CREATE TABLE ProductInfo (
P_Code VARCHAR (45) PRIMARY KEY
NOT NULL,
P_Name VARCHAR (45),
Category VARCHAR (45),
SubCategory VARCHAR (45) ,
Description VARCHAR (500),
Cost_Price VARCHAR (45),
Selling_Price VARCHAR (45),
Reorder_Point INTEGER (10),
Opening_Stock INTEGER (10),
Discount INTEGER (10),
VAT INTEGER (10),
P_Image BLOB,
}
,這是JTable
在那裏我有存儲信息
/*** StockInfo Table******//
CREATE TABLE StockInfo (
P_Code VARCHAR (45) ,
P_Name VARCHAR (45),
Description VARCHAR (500),
Selling_Price VARCHAR (45),
Opening_Stock INTEGER (10),
Discount INTEGER (10),
VAT INTEGER (10),
Date Date,
Pay_Due Varchar(45),
Tot_Pay varchar(45),
}
public void InsertDataToStockInfo()
{
try
{
ProductList obj=new ProductList(); //it is that JTable from where i have to fetch some column.
model=(DefaultTableModel)obj.table.getModel();
for(int i=0;i<obj.table.getColumnCount();i++)
{
String P_Code=model.getValueAt(i,0).toString();
String P_Name=model.getValueAt(i,1).toString();
String Description=model.getValueAt(i,4).toString();
String Selling_Price=model.getValueAt(i,6).toString();
String qnty=model.getValueAt(i, 8).toString();
int Qnty=Integer.parseInt(qnty);
String discount=model.getValueAt(i,9).toString();
int Discount=Integer.parseInt(discount);
String vAT=model.getValueAt(i,10).toString();
int VAT=Integer.parseInt(vAT);
query="Insert into StockInfo (P_Code,P_Name,Description,Selling_Price,Qnty,Discount,VAT)"
+ "Select P_Code,P_Name,Description,Selling_Price,Opening_Stock,Discount,VAT from ProductInfo where P_Code='"+P_Code+"'";
PStat=con.prepareStatement(query);
PStat.setString(1,P_Code);
PStat.setString(2,P_Name);
PStat.setString(3,Description);
PStat.setString(4,Selling_Price);
PStat.setInt(5,Qnty);
PStat.setInt(6,Discount);
PStat.setInt(7,VAT);
// here i also want to add some more information from JTextfield into the columns in JTable is it possible.
PStat.addBatch();
}
PStat.executeBatch();
JOptionPane.showMessageDialog(null,"Data Saved from ProductInfo");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
finally
{
try
{
PStat.close();
res.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
}
}
1)請使用句子開頭的大寫字母,單詞I以及諸如'ArrayList'或Oracle之類的專有名稱。但是**就這樣。**以大寫字母開頭的其他單詞不會使信息更加清晰,而是讓我想要結束問題並幫助其他人。 2)爲了更快地獲得更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。 –
'i'正在遍歷表模型的列索引,但在調用'getValueAt()'時將它用作row-index參數。也許你打算爲你的循環限制寫'i