C# - połączenie z bazą danych phpmyadmin

0

Witajcie!
Chciałabym połączyć się z baza danych phpmyadmin, napisałam coś takiego, jednak nie chce mi zbytnio działać. Może jakiś doświadczony programista rzuci na kod swoim bystrym okiem i będzie wiedział co dolega mojemu programowi ;)

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
namespace phpmyadmin
{
    class Program
    {
        static void Main(string[] args)
        {
            string connString = "Server=mysql.cba.pl;Port=3306;Database=marta1995;Uid=marta1995;password=marta1995";
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand command = conn.CreateCommand();
            command.CommandText = "Select text from marta1995 where id=1";
            try
            {
                conn.Open();

            }
            catch (Exception ex) 
            {
                Console.WriteLine(ex.Message);

            }
            MySqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                Console.WriteLine(reader["text"].ToString());
            }
            Console.ReadLine();
        }
    }
}
0
  1. phpmyadmin to NIE JEST żadna baza danych!
  2. OCZYWIŚCIE najpierw zobaczyłeś/aś na stronie cba czy przypadkiem nie mają zablokowanego połączenia z zewnątrz
FAQ CBA.PL napisał(a)

Nie mogę połączyć się z bazą danych z zewnętrznego serwera, dlaczego?
Albo nie zmieniłeś w skrypcie adresu bazy danych i próbujesz połączyć się z localhost (a powinieneś z mysql.cba.pl), albo próbujesz połaczyć się z innego serwera www niż tego na cba. Bazy danych nie są dostępne z zewnętrznych serwerów www, zatem nie możesz wrzucić strony na inny hosting i trzymać tylko bazy tutaj.

0
  1. Nie ma czegoś takiego jak baza phpmyadmin. Chodzi Ci o MySQL?
  2. Czy cba.pl pozwala na zewnętrzny dostęp do bazy danych?
0

No dobra, przyznam się kod jest właściwy a serwer mam prywatny. Nie podałam prawdziwego serwera i hasła do bazy bo nie chcę się afiszować. Dlatego na potrzeby postu założyłam coś darmowego.
Nie chodzi mi tutaj o serwer tylko w wykrycie błędu w kodzie, czy dostrzegacie co jest w nim nie tak??

PS. Wiem, ze phpmyadmin jest jedynie narzędziem do obsługi MySQL, tak tylko mi się napisało w temacie... wręcz przez przypadek...

0

Jaki błąd?

0

nie błąd kompilacji, ale błąd programu, nie zwraca wyniku

0

W sensie, że sprawdziłaś pod debuggerem i pierwsze wywołanie reader.Read() od razu zwraca false?

0

nie ma rekordu spełniającego warunek? BTW ten post jest tak samo szczery jak prezes AG zapewniający o wypłacie pieniędzy...

0

jest rekord spełniający warunek

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
namespace phpmyadmin
{
    class Program
    {
        static void Main(string[] args)
        {
            string connString = "Server=178.19.110.61;Port=3306;Database=precldomin_marta;Uid=precldomin_marta;password=hKtXsf1M";
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand command = conn.CreateCommand();
            command.CommandText = "SELECT text FROM marta1995";
            try
            {
                conn.Open();

            }
            catch (Exception ex) 
            {
                Console.WriteLine(ex.Message);

            }
            MySqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                Console.WriteLine(reader["text"].ToString());
            }
            Console.ReadLine();
        }
    }
}

user image

user image

0

Przeczytaj pierwszą linijkę w konsoli, na twoim zrzucie ekranu. Jak myślisz, o czym ten komunikat jest? Bo wg mnie wyjaśnia wszystko. Nie ma takiego użytkownika w bazie, podajesz złe hasło albo użytkownik ten ma zablokowany dostęp z zewnątrz. Poza tym, nie wiem po co próbujesz coś robić na bazie nawet w przypadku gdy nie uda sie z nią połączyć, co powoduje nieobsłużony wyjątek.

Zanim zabierzesz się za pisanie klienta w .net zainstaluj sobie dowolny program do obsługi mysql i spróbuj z jego poziomu połaczyć sie z twoją bazą żeby upewnić się że jest to w ogóle możliwe. Jeśli nie, to najpierw skonfiguruj prawidłowo baze danych tak.

I co do cholery phpmyadmin ma wspólnego z twoim problemem? Przecież to tylko kolejny klient mysql, który też łączy sie z bazą podobnie jak ty to próbujesz zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1