Wenn ich mein Programm teste und einen der ersten drei Abschnitte auswähle (ich habe die Option „Essen und Trinken“ gewählt), dann das Programm Die Tabelle wird nicht angezeigt (es sollte die Tabelle food_and_drink angezeigt werden), stattdessen wird die Fehlermeldung „Fehler: Authentifizierung beim Host „localhost“ für Benutzer „root“ mithilfe der Methode“ angezeigt 'caching_sha2_password' ist fehlgeschlagen mit Meldung: Zugriff für Benutzer „root“@„localhost“ verweigert (mit Passwort: NEIN)“. und nach der Fehlermeldung kehrt das Programm wieder zum Hauptmenü zurück. und dieser Fehler gilt für alle ersten drei Optionen.
Hinweis: 1. Für die Datenbank verwende ich myphpadmin (über xampp), um die Datenbank zu verwalten und zu speichern.
- Die Datenbank verfügt über 6 Tabellen:
- Tenant_list-Tabelle (enthält Informationen zu den persönlichen Daten des Anbieters)
- dormitory_building-Tabelle (enthält Informationen über das Gebäude, in dem der Verkäufer wohnt)
- product_junction-Tabelle (die Verbindungstabelle um die Tabelle zwischen dem Verkäufer und dem von ihm verkauften Produkt zu verbinden)
- food_and_drink-Tabelle (enthält die Informationen für die Produktdetails). im Zusammenhang mit Speisen und Getränken)
- clothing_table (enthält die Informationen für die Produktdetails, die sich auf Kleidung beziehen)
- Die Erweiterung (in Visual Studio-Code), die ich verwendet habe, um die Datenbank mit Visual Studio-Code zu verbinden, heißt „MySQL“ und wurde von erstellt Weijan Chen
- Ich habe bereits die Berechtigung des Root-Benutzers geändert (da ich den Root-Benutzer verwendet habe, um die Datenbank in myphpadmin zu verwalten) und auch meine geändert Authentifizierungs-Plugin zu mysql_native_password (ich habe eigentlich nichts geändert, liegt daran, dass das Plugin bereits so eingerichtet ist)
using System;
using System.Threading;
using MySql.Data.MySqlClient;
namespace MyApplication
{
class Program
{
static void DisplayTableData(string tableName)
{
string connectionString = "Server=localhost;Database=telyu_vendor_dorm;User ID=root;";
string query = $"SELECT * FROM {tableName}";
try
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
using (MySqlCommand command = new MySqlCommand(query, connection))
{
using (MySqlDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
Console.WriteLine($"Data from table '{tableName}':");
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.Write($"{reader.GetName(i)}: {reader} ");
}
Console.WriteLine();
}
}
else
{
Console.WriteLine($"No data found in table '{tableName}'.");
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
static void Foodie()
{
Console.WriteLine("You have chosen the Food and Drink category!");
Thread.Sleep(1000);
DisplayTableData("Food_and_Drink");
}
static void Clothes()
{
Console.WriteLine("You have chosen the Clothing category!");
Thread.Sleep(1000);
DisplayTableData("Clothes");
}
static void TheOtherStuff()
{
Console.WriteLine("You have chosen the Miscellaneous category!");
Thread.Sleep(1000);
DisplayTableData("Miscellaneous");
}
static void Main(string[] args)
{
int itsTimeToStop = 0;
Console.WriteLine("Telkom University Dormitory Market (test version)");
Thread.Sleep(1000);
Console.WriteLine("What do you want to do today?");
Console.WriteLine("");
while (itsTimeToStop < 1)
{
Console.WriteLine(" | [1] Food and Drinks | [2] Clothing | [3] Miscellaneous | [4] Exit");
Console.WriteLine("");
Console.Write("Your chosen category: ");
int choice = Convert.ToInt32(Console.ReadLine());
switch (choice)
{
case 1:
Foodie();
break;
case 2:
Clothes();
break;
case 3:
TheOtherStuff();
break;
case 4:
Console.WriteLine("You have exited the website!");
itsTimeToStop++;
break;
default:
Console.WriteLine("Please choose a valid option.");
break;
}
}
}
}
}