Jak odczytać wartość z kolumny o nazwie zawartej w []?

0

Jeśli odczytuję(w programie w c#) jakieś wartości dla danego wiersza, dla kolumny o nazwie np.: "Data"(typ datetime) to wszytsko jest ok.
Gdy chcę odczytać wartość dla kolumny o nazwie np: [2/10/2014] nie udaje mi się tego zrobić. Po prostu w datagrid po wyświetleniu rekordów ta kolumna jest cała pusta, a pozostałe, o nazwach nie zawartych w nawiasach klamrowych, jest wypełniona odpowiednimi wartościami dla danego wiersza.
Jak można w takim razie odczytać wartość takiej kolumny?

0

Pomieszałeś. Chcesz tylko zmienić label kolumny, a zapewne zmieniasz jednocześnie nazwę pola w źródle danych. Pokaż trochę kodu.

PS: Nie bawiłem się za bardzo datagrid więc nie pomogę z pamięci

EDIT
Zobacz czy pomogą Ci odpowiedzi na te pytania:
http://stackoverflow.com/questions/1036948/how-to-set-column-header-text-for-specific-column-in-datagridview-c-sharp
http://stackoverflow.com/questions/13579034/how-do-you-rename-datagrid-columns-when-autogeneratecolumns-true

0

Nic nie pomieszałem, nie chcę nic zmieniać, chcę po prostu cała tabelę odczytać i wyświetlić ją w datagrid.
Kod:

  List<string> nm = new List<string>();
            var dzienna = ConfigurationManager.ConnectionStrings["Dzienna"].ConnectionString;
            SqlConnection dz = new SqlConnection(dzienna);
            SqlCommand d = new SqlCommand();
            d.Connection = dz;
            dz.Open();
            d.CommandText = "Select *FROM GODZINY";
            var dre = d.ExecuteReader();
            if (dre.HasRows)
            {
                while (dre.Read())
                {
                   nm.Add(dre[0].ToString());
                }
            }
            string kt = "";
            var kl = 0;
            foreach (var item in nm)
            {
                if (kl == 0) { kt = Convert.ToString(item); kl = 1; }
                else { kt = kt + "," + Convert.ToString(item); }
            }
          //  MessageBox.Show(kt);
            DataTable dataTable = Msql.GetDataTable("select*from Godziny where id in(" + kt + ")");
            SqlDataAdapter da = new SqlDataAdapter();
            bazunia.ItemsSource = dataTable.DefaultView;

I teraz jeśli mam kolumnę o nazwie: "Data" elegeancko w dataghrid do każdego wiersza wyśietla mi wartośc. Natomiast mam kolumnę "[2/10/2014]" i już tutaj nie pobiera wartości(chociaż jest ona zapisana) i wyświetla puste pole w datagrid.

0

Nie masz kolumny [2/10/2014], tylko 2/10/2014 (prawdopodobnie). Ale ujętą w tzw QUOTENAME. I tak próbuj.
A potem zastrzel tego, co tak nazwał kolumnę.

0

jak można nazwać kolumnę [2/10/2014]???? Toż to trzeba być chorym umysłowo człowiekiem. A dlaczego tak się nie robi to Twoje pytanie jest odpowiedzią.
Podaj DDL tej tabeli.
BTW jedyne wyjście jakie widzę to zamiast SELECT * FROM wyszczególnić wszystkie kolumny ze zmianą nazwy tej "cudownej" na jakąś normalną

0

Zmiana nazwy kolumny pomogła rozwiązać problem.

0

Czy Ty tworzyłeś tą tabelę? Jeżeli masz jedną kolumnę na każdy dzień, to zrobiłeś to źle. No chyba, że liczba dni jakie mogą się pojawić jest skończona ;)

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