Zmena dat pri nacitani s sql a vlozeni do datagrid
Zmena dat pri nacitani s sql a vlozeni do datagrid
Ahojte
Je vlasne taka moznost? Mam hodnoty na sql servere ktore obsahuju raz ciarku a raz bodku v urcitom stlpci a potreboval by som tie hodnoty zmenit na bodky.... Sql databazu nezmenim....vb.net
Dakujem za rady...
Je vlasne taka moznost? Mam hodnoty na sql servere ktore obsahuju raz ciarku a raz bodku v urcitom stlpci a potreboval by som tie hodnoty zmenit na bodky.... Sql databazu nezmenim....vb.net
Dakujem za rady...
-
harrison314
Hardcore addict
- Príspevky: 8216
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
A to mas cisla ulozene ako text?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
áno, je. Vždy sa dá znak zameniť za znak. Buď to priamo v sql dotaze (http://victoriayudin.com/2013/03/11/cha ... g-replace/) alebo pri vypisovaní do toho datagridu nejaký serverovým alebo klientským jazykom (php, js... nenapísal si v čom robíš)
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
robim to vo vs2015 a s vb.Terajsi kod:
Try
connection.Open()
dataadapter.Fill(DefautneZobrazenie, "Vyhladavac")
connection.Close()
FillDataGridView(DefautneZobrazenie)
Catch ex As SqlException
MsgBox(ex.Message)
connection.Close()
End Try
Private Sub FillDataGridView(DefautneZobrazenie)
With DataGridView1
.DataSource = DefautneZobrazenie
.DataMember = "Vyhladavac"
.
.
.
end with
Este pred tymto naplnenim do datagridview by som chcel :
1) zamenit , za . u urcitych stlpcoch
2) naformatovat stlpec ako double lebo filtrujem cisla ktore su <,>,= a filtruje mi to hovadiny.
Try
connection.Open()
dataadapter.Fill(DefautneZobrazenie, "Vyhladavac")
connection.Close()
FillDataGridView(DefautneZobrazenie)
Catch ex As SqlException
MsgBox(ex.Message)
connection.Close()
End Try
Private Sub FillDataGridView(DefautneZobrazenie)
With DataGridView1
.DataSource = DefautneZobrazenie
.DataMember = "Vyhladavac"
.
.
.
end with
Este pred tymto naplnenim do datagridview by som chcel :
1) zamenit , za . u urcitych stlpcoch
2) naformatovat stlpec ako double lebo filtrujem cisla ktore su <,>,= a filtruje mi to hovadiny.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
v linku vyššie som ti dal ako použiť replace, takže to dáš na všetky tie stlpce kde chceš meniť čiarky za bodky. Teda select replace(nazov_stlpca, ',', '.') as nazov_stlpca_s_bodkou from nazov tabulky where ...
a rovnako tak sa dá aj pretypovať: http://dev.mysql.com/doc/refman/5.6/en/ ... ction_cast akurát že v mysql nie je double, ale decimal
a rovnako tak sa dá aj pretypovať: http://dev.mysql.com/doc/refman/5.6/en/ ... ction_cast akurát že v mysql nie je double, ale decimal
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
Dikaudiotrack napísal:v linku vyššie som ti dal ako použiť replace, takže to dáš na všetky tie stlpce kde chceš meniť čiarky za bodky. Teda select replace(nazov_stlpca, ',', '.') as nazov_stlpca_s_bodkou from nazov tabulky where ...
a rovnako tak sa dá aj pretypovať: http://dev.mysql.com/doc/refman/5.6/en/ ... ction_cast akurát že v mysql nie je double, ale decimal
Funguje to....ALE.
Potrebuje pomoc zo zapisom tohto
Select " & Stlpce & " from [Databaza náradia] where [Skupina unifikacie text] = 'Stopkový nôž'"
a sojit to s
Select replace(Höhe, ',', '.') from [Databaza náradia] where [Skupina unifikacie text] = 'Stopkový nôž'"
(& Stlpce & = obsahuje cca 8 stlpcou a preto som to dal do premennej)
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
v tej svojej premennej Stlpce si nazov toho stlpca ktorý obsahuje také hodnoty nahraď nahraď tým replacom
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
Dik...audiotrack napísal:v tej svojej premennej Stlpce si nazov toho stlpca ktorý obsahuje také hodnoty nahraď nahraď tým replacom
Pritom druhom pripade mi stale pise ze nemozem konvertovat varchar do numericu.... toto mu mam ako vysvetlit ze to tak potrebujem ?
Zapis: CAST(Radius as decimal(8,2)) Radius alebo CONVERT(DECIMAL(10,5),Radius)
Este doplnim ze na servere v stlpci 'Radius' su ulozene ciselne hodnoty alebo priazdny riadok ale ziadny text.
Takto to vyzera ked zapnem filter Zostupne:
Radius
9.300
85.000
85.000
8.600
8.100
8.000
75.000
7.900
60.000
60.000
60.000
60.000
6.500
6.500
6.100
6.020
6.000
6.000
6.000
6.000
50.000
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
A nemal by si tam davat miesto 8,2 praveze 8.2? ked to castujes do numerickeho typu.
a ten filter ci jak to mam chapat, to zapinas kde, v nejakom GUI sql klientovi?
a ten filter ci jak to mam chapat, to zapinas kde, v nejakom GUI sql klientovi?
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
priamo v datagride po nacitani hodnot...ale nechapem ako mam docielit postupnost hodnot lebo ked si vsimnes postupnost je dodrzana len pri prvom cisle teda znaku v bunke...cize 9.3 < 85.0 ! Toto neviem zoradit a nechapem preco mi to tak robi...mozno ze je to varchar ale preco potom mi to nejde konvertovat na decimal ???Fabo napísal:A nemal by si tam davat miesto 8,2 praveze 8.2? ked to castujes do numerickeho typu.
a ten filter ci jak to mam chapat, to zapinas kde, v nejakom GUI sql klientovi?
http://tinypic.com/r/fup6cm/9
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
takze ak chapem spravne, tak v tom vb.net nejakom grafickom objekte.
Ano, kedze to je varchar, tak to urobi podla abecedy. Najprv to musis previest cele na cislo, na urovni databazy.
Ano, kedze to je varchar, tak to urobi podla abecedy. Najprv to musis previest cele na cislo, na urovni databazy.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
nie, má tam byť čiarka. Nie je to číslo 8.2 ktoré chce prevádzať. Prevádza hodnotu stlpca radius. Tie čísla 8 a 2 sú parametre funkcie decimal, a hovoria že to chce na 8 miest, a 2 desatinnéFabo napísal:A nemal by si tam davat miesto 8,2 praveze 8.2? ked to castujes do numerickeho typu.
a ten filter ci jak to mam chapat, to zapinas kde, v nejakom GUI sql klientovi?
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
..takze na urovni databaze to nejde bo tie informacie sa skladaju prastrasne a programator mi povedal ze dotoho on nepojde...
Este ma napadlo to ze ked dostavam tie hodnoty do stlpca v datagridview tak kazdu jednu hodnotu vlastne zobrat z databaze previest do double(decimal) a vlozit do stlpca v tom mojom datagridview. Moze byt?
//autoeditácia príspevku (08 Dec 2015, 21:16)
Hotovo...vyriesene....vytvoril som si double premenu po naplneni datagridu a hodnotu po hodnote som krmil premenu a ta automaticky konvertovala hodnotu na pozadovanu a hnet som ju aj poslal naspet do datadridu a povodnu som prepisal...jednoduche....ale ked to nepouzivate
.....dakujem za rady...
//autoeditácia príspevku (08 Dec 2015, 21:16)
Hotovo...vyriesene....vytvoril som si double premenu po naplneni datagridu a hodnotu po hodnote som krmil premenu a ta automaticky konvertovala hodnotu na pozadovanu a hnet som ju aj poslal naspet do datadridu a povodnu som prepisal...jednoduche....ale ked to nepouzivate
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Zmena dat pri nacitani s sql a vlozeni do datagrid
Sorry, podmieneny reflex... s bodkou a ciarkou som uz riesil strasne vela problemov, v poslednej dobe napriklad presne v konverzii char to double. Akurat teda nie v SQL.audiotrack napísal: nie, má tam byť čiarka. Nie je to číslo 8.2 ktoré chce prevádzať. Prevádza hodnotu stlpca radius. Tie čísla 8 a 2 sú parametre funkcie decimal, a hovoria že to chce na 8 miest, a 2 desatinné