У меня есть неплохие знания в Php, но я недавно запустил Visual Studio, и мне было интересно, как мне перейти к преобразованию моего кода в Visual Studio. Я хотел создать комбинированное окно, которое будет распечатывать основную категорию, затем подкатегорию под ней, затем элементы под ней и так далее, пока все основные категории не будут закончены.
Я понятия не имел, как написать их на C #, поэтому я сначала создал код на PHP и попытался их проанализировать, и пока мой текущий код в Visual Studio:
private void Form1_Load(object sender, EventArgs e)
{
sc.Open();
//For Main Category
SqlCommand get_maincategory_name = new SqlCommand("SELECT * FROM maincategory", sc);
SqlDataReader dr2 = get_maincategory_name.ExecuteReader();
while (dr2.Read())
{
comboBox1.Items.Add(dr2["maincategory_name"].ToString());
//For Sub Category
SqlCommand get_subcategory_name = new SqlCommand("SELECT * FROM subcategory WHERE maincategory_id='1'", sc);
SqlDataReader dr3 = get_subcategory_name.ExecuteReader();
while (dr3.Read())
{
comboBox1.Items.Add("--" + dr3["subcategory_name"].ToString());
//For Inventory
SqlCommand get_inventory_name = new SqlCommand("SELECT * FROM inventory WHERE subcategory_id='1'", sc);
SqlDataReader dr4 = get_inventory_name.ExecuteReader();
while (dr4.Read())
{
comboBox1.Items.Add("----" + dr4["item_name"].ToString());
}
}
}
sc.Close();
}
Мой PHP-код выглядит так:
echo "<select>";
// FOR MAIN CATEGORY
$maincategory_query = mysqli_query($con,"SELECT * FROM maincategory") or mysqli_error();
while($got = mysqli_fetch_assoc($maincategory_query))
{
$maincategory_id = $got['maincategory_id'];
$maincategory_name = $got['maincategory_name'];
echo "<option disabled>$maincategory_name</option>";
// FOR SUB CATEGORY
$subcategory_query = mysqli_query($con,"SELECT * FROM subcategory WHERE maincategory_id='$maincategory_id'") or mysqli_error();
while($got = mysqli_fetch_assoc($subcategory_query))
{
$subcategory_id = $got['subcategory_id'];
$subcategory_name = $got['subcategory_name'];
echo "<option disabled>--$subcategory_name</option>";
// FOR ITEM
$item_query = mysqli_query($con,"SELECT * FROM item WHERE subcategory_id='$subcategory_id'") or mysqli_error();
while($got = mysqli_fetch_assoc($item_query))
{
$item_id = $got['item_id'];
$item_name = $got['item_name'];
echo "<option>----$item_name</option>";
}
}
}
echo "</select>";
Проблемы, которые у меня возникают:
dr2["maincategory_id"]
(заменить 1) внутри оператора sql в WHERE, но у меня возникают проблемы с выяснением синтаксиса того, как он не будет интерпретироваться как строка.Задача ещё не решена.
Других решений пока нет …