元素我已經寫了一個方法存根凡在我在的PreparedStatement這個SQL缺乳至今:SQL查詢來加入ArrayList中
PreparedStatement ps = connection.prepareStatement("SELECT id,itemId,userId, sum(I.price) as totalAmount FROM dbo.Orders o
join dbo.Items I on o.itemId = I.id join dbo.Users u on o.UserId = u.Id where o.id = ?");
ps.setInt(1, id);
要求: 檢索給定的訂單ID項目的不同值並將它們添加到arrayList。
這裏是我的方法看起來像至今:
public ArrayList<Orders> GetOrders(Connection connection) throws Exception
{
ArrayList<Orders> feedData = new ArrayList<Orders>();
ArrayList<Integer> itemsId = new ArrayList<Integer>();
//How do I get items in this arraylist since there could be multiple items for a given order ?
try
{
PreparedStatement ps = connection.prepareStatement("SELECT id,itemId, userId, sum(I.price) as totalAmount FROM dbo.Orders o join dbo.Items I on o.itemId = I.id join dbo.Users u on o.UserId = u.Id where o.id = ? group by o.id");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
Orders o = new Orders();
o.setId(rs.getInt("id"));
//how do I add elements itemid's in itemsId array list here.?
while(){
}
o.setItem(itemsId);
o.setUserId(rs.getInt("price"));
o.setTotalAmount(rs.getInt("totalAmount"));
feedData.add(o);
}
return feedData;
}
catch(Exception e)
{
throw e;
}
}
編輯:
數據庫模式:
create table Users
(
Id int not null primary Key identity(1,1) constraint fk_UserId_Id references Orders(UserId),
name nvarchar(50),
phone nvarchar(10)
);
create table Items
(
Id int not null primary Key identity(1,1) constraint fk_item_Id references Orders(ItemId),
name nvarchar(50),
Price int
);
create table Orders
(
id int not null primary Key identity(1,1),
ItemId int,
UserId int,
);
我們可以有你的數據結構(數據庫模式)嗎? – Amadan
@Amadan:好的,更新。 –
你沒有更新這個問題,你遇到了完全不同的問題。 「爲給定訂單(即給定OrderId的所有項目的價格總和)推導total_price」和「檢索給定訂單Id的不同項目的值並將它們添加到arrayList」。甚至不相似。 – Amadan