z bazy danych do textboxa

0

Witam! Szukałem na forum sposobu na wyświetlenie danego pola z bazy w textboxie, ale niestety znalazłem tylko odwrotnie. Podzieli się ktoś wiedzą?
Pozdrawiam!

0

Pobrać dane z bazy i wstawić do textboxa?
Jaka baza, jaki program, jak łączysz się z bazą: ręcznie, Datasetami czy jakimś ORM?

0

Sorka za niepełne dane :P baza MsSQLServer Express; program -zwykłe Visual Studio 08 łącze się programowo stringiem bez datasetów i LINQ, zależy mi, żeby program kopsał z .Net Framework 2.0 -ale to tylko opcjonalnie.

0

Pisząc "stringiem bez datasetów" masz na myśli, że tworzysz SqlCommand z poleceniem SQL do wykonania?

0

Tak. Coś w stylu

SqlConnection con = new SqlConnection();
            con.ConnectionString = cdb.ConnectionString;
            try
            {
                con.Open();
                if (con.State == ConnectionState.Open)
                {
                    SqlCommand mg = con.CreateCommand();
                    mg.CommandText = string.Format("i tu zapytanie
0

Więc musisz wywołać metodę SqlCommand.ExecuteScalar(), jeśli chcesz pobrać jedną wartość z bazy. Ponieważ metoda zwraca object, to musisz go jeszcze rzutować na string.

0

Dzięki za odpowiedź! dziś już nie mam siły, jutro spróbuje z kodem. Pozdrawiam!

0

Działa! Dzięki :) Mam jeszcze jedno pytanko. Może niewiele związane z tematem, ale nie chciałem spamować.
Mam kod
int LK = Int32.Parse(PotrzebaDGV.CurrentCell.Value.ToString());
Powinien zamieniać zawartość wybranej komórki z obiektu DGV na wartość liczbową. Problem w tym, że nie chce kopsać :P
Wywala błąd

Input string was not in a correct format

Wszystko byłoby jasne, gdyby zawartość wybranej komórki była tekstem, tymczasem to double, pobrany z bazy i wczytany do DGV ma postać na przykład 41,00.
Próbowałem już takiego czegoś

decimal LK = decimal.Parse(PotrzebaDGV.CurrentCell.Value.ToString());
            Int32.Parse(LK.ToString());

Oto skutek przy próbie wykonania zapytania:

Error converting data type varchar to numeric.

Macie może pomysł jak to obejść?

0

po pierwsze pierwszy blad chyba jasno mowi w czym problem, mianowicie 41,00 za nic nie ma formatu liczby calkowitej, co innego 41

drugi blad sugeruje probe konwersji po stronie sql
czym jest PotrzebaDGV? hehe, troche myslenie wylaczylem, data grid view :)

a generalnie konwersja string -> decimal ->string -> int to zdrowo przekombinowane
typy liczbowe mozesz rzutowac jawnie jedne na drugie
czyli
int x = 1;
decimal y = 3M;
double z;
z = (double)x;
z = (doulbe)y;
zamiast Parse i lapania wyjatku sugeruje sie uzycie metody TryParse

0
simonssj7 napisał(a)

Mam kod
int LK = Int32.Parse(PotrzebaDGV.CurrentCell.Value.ToString());
Powinien zamieniać zawartość wybranej komórki z obiektu DGV na wartość liczbową. Problem w tym, że nie chce kopsać :P

Bardziej na około się nie da?
Po co robić object -> strint -> int, skoro można od razu object -> int?

int LK = (int)PotrzebaDGV.CurrentCell.Value;

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