Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да се свържа с Mysql с помощта на C#?

Вашият непосредствен проблем вероятно е или неправилен низ за връзка, или сървърът на базата данни не е наличен. Низът за връзка трябва да бъде нещо подобно

Server=localhost;Database=testdb;Uid=<username>;Pwd=<password>;

с <username> и <password> заменени с вашите действителни стойности.

Освен това вашият код има няколко проблема и определено трябва да ги разгледате, ако това е предназначено да стане производствен код и вероятно дори ако това е просто проект за играчка, за да научите нещо. Списъкът е в определен ред и може да не е изчерпателен.

  1. Не кодирайте твърдо своя низ за връзка. Вместо това го преместете в конфигурационен файл.
  2. Не включвайте обикновени текстови пароли в конфигурационните файлове или изходния код. Има различни решения като удостоверяване на Windows, сертификати или защитени с пароли от API за защита на данните на Windows .
  3. Не изхвърляйте просто IDisposable екземпляри чрез извикване на IDisposable.Dispose() . Вместо това използвайте using изявление за освобождаване на ресурси дори в случай на изключения.
  4. Не създавайте SQL изрази с помощта на техники за манипулиране на низове. Вместо това използвайте SqlParameter за предотвратяване на атаки с инжектиране на SQL.
  5. Не съхранявайте пароли с обикновен текст в база данни. Вместо това поне съхранявайте солени хешове на паролите и използвайте бавна хеш функция, а не MD5 или член на SHA семейство.
  6. Можете да използвате IDbCommand.ExecuteScalar за да извлечете скаларен резултат и да избегнете използването на четец на данни.
  7. Сравняване на булева стойност с true или false е излишен и просто добавя шум към вашия код. Вместо if (reader.IsDBNull(0) == true) можете просто да използвате if (reader.IsDBNull(0)) . Същото важи и за if (reader.Read() != false) какво е еквивалентно на if (reader.Read() == true) и следователно също if (reader.Read()) .
  8. Използване на O/R картограф като Entity Framework обикновено се предпочита пред взаимодействието с базата данни на ниво SQL команди.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Достъпът е отказан за потребител 'root'@'localhost' (използвайки парола:ДА)

  2. показване на данни от база данни в html таблица

  3. PHP &mySQL:Кога точно да се използват htmlentities?

  4. PDO с INSERT INTO чрез подготвени оператори

  5. небуферирана заявка с MySQLi?