Проблемы с подключением базы данных и кода визуальной студииC#

Место общения программистов C#
Ответить
Anonymous
 Проблемы с подключением базы данных и кода визуальной студии

Сообщение Anonymous »

Для контекста: я создаю программу (используя C#), которая действует аналогично веб-сайту. На этом веб-сайте будет указан любой продавец, который продает товары или услуги на территории общежития университета. и пользователь может просматривать и искать любых поставщиков, которые предоставляют товары или услуги, которые ему/ей нужны. Затем пользователю будет предоставлен контакт поставщика и он сможет взаимодействовать с поставщиком во внешнем приложении (Whatsapp). когда пользователь запускает программу, программа отображает главное меню. Главное меню состоит из 4 разделов, которые пользователь может выбирать в интерфейсе главного меню (Еда и напитки, Одежда, Разное и Выход). если пользователь выбирает первые три варианта, программа должна отображать таблицу данных, полученных из базы данных, подключенной к коду Visual Studio. и после отображения таблицы программа вернется в главное меню программы. и если пользователь выберет четвертый вариант, программа завершится.
когда я тестирую свою программу и выбираю один из первых трех разделов (я выбрал вариант еды и питья), программа не будет показывать таблицу (она должна отображать таблицу food_and_drink) вместо этого отображает сообщение об ошибке «Ошибка: аутентификация на хосте 'localhost' для пользователя 'root' с использованием метода «caching_sha2_password» не удалось выполнить сообщение: Доступ запрещен для пользователя 'root'@'localhost' (с использованием пароля: НЕТ)". и после сообщения об ошибке программа снова возвращается в главное меню. и эта ошибка касается всех первых трех вариантов.
примечание: 1. для базы данных я использую myphpadmin (через xampp) для управления и хранения базы данных.
  • В базе данных 6 таблиц:
  • Таблица Tenant_list (содержащая информацию о личных данных поставщика)
  • Таблица Dormitory_building (хранит информацию о здании, в котором живет продавец)
  • Таблица Product_junction (соединительная таблица) для связи таблицы между продавцом и продуктом, который он продает)
  • таблица food_and_drink (содержит информацию о деталях продукта, которая связанные с едой и напитками)
  • clothing_table (содержит информацию о деталях продукта, связанного с одеждой)
-Разная таблица (содержащая информацию о деталях продукта, которая связана с чем-либо, кроме еды, напитков или одежды)
  • расширение (в коде Visual Studio), которое я использовал для подключения базы данных к коду Visual Studio, называется «MySQL», созданное Вейжан Чен
  • Я уже изменил привилегии пользователя root (поскольку я использовал пользователя root для управления базой данных в myphpadmin), а также изменил свой плагин аутентификации для mysql_native_password (на самом деле я не менял, плагин уже настроен таким образом)
кодирование (язык C#):
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;
}
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... on-issuess
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»