Podanie danych serwera SQL ze zmiennej

0

Kolejny pewnie dla was banalny problemik.

Łączę się z bazą:

 string mojePolaczenie =
                 "SERVER=127.0.0.1 ;" +
                 "DATABASE=nazwabazy ;" +
                 "UID=uzytkownik ;" +
                 "PASSWORD=haslo ;" +
                 "CharSet = utf8;";

Ale chciałbym aby te dane wpadały ze zmiennych. Jak dam coś takiego to wywala błąd.

  "SERVER="+ZMIENNAZbaza+" ;" +

Error 1 A field initializer cannot reference the non-static field, method, or property 'WindowsFormsApplication1.Form1.MYSQLserwer'
Nie czaję o co mu chodzi.

dodanie znacznika <code> - @furious programming

0

W statycznej metodzie odwołujesz się do niestatycznegeo pola. Rozwiązanie: zmienić pole na statyczne lub metodę na niestatyczną i przeczytać jeszcze raz jakiś kurs c# bo widać nie rozumiesz co robisz.

0

Każdy kiedyś zaczynał.
Może jakaś podpowiedź. Jak to zamienić?

0

Ale co tu jeszcze podpowiadać?
To tak dla wybitnie zielonych:
Masz

string mojePole;
static void MojaMetoda()
{
    mojePole = "jakiś tekst";// nie zadziała bo pole nie jest statyczne
}

A powinieneś mieć:

static string mojePole;
static void MojaMetoda()
{
    mojePole = "jakiś tekst";// zadziała, metoda i pole są statyczne
}

lub

string mojePole;
void MojaMetoda()
{
    mojePole = "jakiś tekst";// zadziała, metoda i pole są niestatyczne
}
0

Dzięki. Jeszcze jedno.
Mój programik wykonuje dużo zapytań sql i czasami wywala mi błąd error connecting. timeout expired.

Rozumiem, że kończy się czas na wykonanie zapytań. Ponieważ to programik tylko dla mnie wiec nie muszę się niczego obawiać to czy mogę wyłączyć jakoś limit czasu?
W PHP jest coś takiego a w C#?

0

http://msdn.microsoft.com/pl-pl/library/system.data.sqlclient.sqlconnection.connectiontimeout(v=vs.110).aspx

Poprawiony link. Ale i tak mógłbyś pokazać co tam robisz bo pewnie robisz to źle.

0

Limitu czasu nie możesz wyłączyć również w PHP, ponieważ jest to narzucone przez serwer.
Ale możesz w timier'ze wysyłać jakieś zapytanie np: NOP - owszem zwróci błąd ale co cię to obchodzi, grunt że nie rozłączy.

0

Ustaw CommandTimeout.

0

Ok dzięki. znalazłem faktycznie błąd. Otwierałem połączenie do sprawdzenia czy w bazie jest dany record i nie zamknąłem go.

0

Coś znowu robię nie tak.
Wczytuję sobie dane z pliku XML

public static string Adres;
public static string Nazwa;
public static string Uzyt;
public static string Haslo;
public static string Kodowanie;
...
Adres = node.SelectSingleNode("adres").InnerText;
Nazwa = node.SelectSingleNode("nazwa").InnerText;
...

W tym miejscu jest ok. Do zmiennych wpadają dane z pliku XML.

Ale do zmiennej poniżej nie wpadają dane o połączeniu.

 static string Polaczenie =
                "SERVER=" + Adres + " ;" +
                 "DATABASE=" + Nazwa + " ;" +
                 "UID=" + Uzyt + " ;" +
                 "PASSWORD=" + Haslo + " ;" +
                 "CharSet = " + Kodowanie + ";";

Co robię nie tak?

0

Najpierw pobierz wartości do zmiennych Adres, Nazwa itp a dopiero potem posklejaj to do zmiennej Połączenie

0

Było po kolei. Ale znalazłem zmienna była poza nawiasem z Load więc nic jej nie wywoływało.

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