我正在做一個(gè)項(xiàng)目,客戶可以訂購(gòu)無(wú)限多的產(chǎn)品,我需要我的代碼來(lái)讀取他的訂單的每個(gè)產(chǎn)品ID。
為了讓它工作,它需要在一個(gè)循環(huán)中,而我只能找到方法在沒(méi)有循環(huán)的情況下,通過(guò)互聯(lián)網(wǎng)上有限的產(chǎn)品來(lái)實(shí)現(xiàn)這一點(diǎn)。
我試著像這樣使用SELECT
:
string selectCod = "SELECT id FROM order";
MySqlCommand selectCodCmd = new MySqlCommand(selectCod, BDconnection);
reader = selectCodCmd.ExecuteReader();
while (reader.Read())
{
}
reader.Close();
但是我想不出任何東西可以放在里面,雖然我試著使用x = reader[0].ToString();
,但我只得到了最后一個(gè)產(chǎn)品ID。
如果有人能幫助我,我將不勝感激
Edit1:
非常感謝,成功了!如果將來(lái)有人遇到同樣的問(wèn)題,下面是代碼:
string selectCod = "SELECT id FROM OrderItens";
var selectCodCmd = new MySqlCommand(selectCod, BDconnection);
reader = selectCodCmd.ExecuteReader();
var OrderItensId = new List<string>();
while (reader.Read())
{
OrderItensId.Add(reader["id"].ToString());
}
reader.Close();
foreach(string Code in OrderItensId)
{
string CodeAmount = "SELECT amount FROM OrderItens
WHERE id = "+ Code +"";
var CodeAmountCmd = new MySqlCommand(CodeAmount, BDconnection);
reader = CodeAmountCmd.ExecuteReader();
int OrderAmount = 0;
while (reader.Read())
{
OrderAmount = Int32.Parse(reader[0].ToString());
}
reader.Close();
string UpdateStock = "UPDATE Stock
SET amount = amount - "+OrderAmount+"
WHERE id = "+ Code +"";
var UpdateStockCmd = new MySqlCommand(UpdateStock, BDconnection);
reader = UpdateStockCmd.ExecuteReader();
while (reader.Read()) { }
reader.Close();
}
嗯,據(jù)我所知,您需要從一個(gè)特定訂單獲得所有產(chǎn)品ID,對(duì)嗎?
使用此選項(xiàng),您只能從表訂單中獲取所有訂單ID
首先,您需要訂單id,我想您有一個(gè)名為orderItens或類似的表。。
然后,您可以通過(guò)如下選擇獲得該訂單的所有ITEN:
然后創(chuàng)建一個(gè)這樣的循環(huán)
這里有一個(gè)列表,上面有您訂單中的所有itens id