Witam,
mam pytanie - czy mozna w jakis sposob przekonwertowac typ object na int?
int Ratyid = (int)reader[0];
niestety wywala bląd: "Szczegóły wyjątku: System.InvalidCastException: Określone rzutowanie jest nieprawidłowe."
z gory dziekuje za pomoc
Witam,
mam pytanie - czy mozna w jakis sposob przekonwertowac typ object na int?
int Ratyid = (int)reader[0];
niestety wywala bląd: "Szczegóły wyjątku: System.InvalidCastException: Określone rzutowanie jest nieprawidłowe."
z gory dziekuje za pomoc
Convert.ToInt32(object)
a jeśli to nie pomoże to można tak nie wiem czy to rozwiązanie jest w 100% skuteczne, ale ja robiłem to tak (i mi działało)
Convert.ToInt32(object.ToString())
Jakiego typu jest reader ?
:d dziala
Convert.ToInt32() nie wywalilo bledow
Dzieki wielkie za pomoc ;]
adf88: reader jest typu object
Thesauri napisał(a)
adf88: reader jest typu object
Czyżby ? object nie posiada operatora [] :>
W każdym razie reader[0] nie jest zakuapsułkowanym (boxed) int'em więc rzutowanie się nie powiodło i dlatego potrzebna jest konwersja.
adf88: pod tym reader[0] ukryty byl int wyciagniety z bazy danych.
W sumie mam jeszcze jedno pytanie - tym razem nie chodzi o konwersje, a formatowanie DateTime wyciagnietego z bazy danych.
Musze wyswietlic tylko date - bez czasu. Najlepiej w formie BulletedList (aczkolwiek nie upieram sie przy tym) , ale nie bardzo mam pomysl jak to zrobic.
Probowalam w samym zapytaniu z DateTime zmienic go na varchar obcinajac godzine.
Select 'rozpoczecie'= CAST(k.data_1_spotkania AS varchar(11)) (...)
from kursy k (...);
ale to nie daje niestety porzadanego efektu - wyswietla "IX 18 2008" (jezyk w bazie danych mam ustawiony na polski, baza SQL Server 2005)
Kolejne podejscie to zmiana kontrolki na DataList i fotmatowanie Eval
<asp:DataList ID="lista_kursow" runat="server" >
<ItemTemplate>
<%# Eval("Data_najblizszego_kursu","{d MMMM YYYY (dddd)}")%>
</ItemTemplate>
</asp:DataList>
Kwerenda juz bez kombinacji - zwykly DateTime.
To jednak wywalilo blad "Szczegóły wyjątku: System.FormatException: Nieprawidłowy format ciągu wejściowego."
Jak skasuje ten dodatkowy parametr Eval to wyswietla standardowo np."2008-09-18 00:00:00" (czyli blad jest spowodowany proba formatowania).
Jak z bazy to był to pewnie Int64, nie int (Int32).
Co do pytania powyżej - nie znam się na ASP, ale coś mi się ten format nie podoba. Nie powinno być po prostu "(d)" ?
po prostu d tez nie dziala, probowalam :/