Mizí hodnota z tabulky   zodpovězená otázka

ASP.NET WebForms

Vkládám data z tabulky z SQL databáze na stránku do GridView(je to stejné i např. do ListView atd.). No a v jednom sloupci se mi děje taková "podivnost". Při každém nataženístráky se na moment objeví hodnoty a v zápětí zase zmizí a sloupeček zůstane prázdný. Ostatní hodnoty jsou normálně vidět. Zkusil jsem založit novou stránku v projektu, odebrat styly, nic nepomáhá. Jsem z toho jelen, daněk i muflon dohromady. Prosím o radu. Pracuji s VWD studiem 2008 a SQL 2008 - expression edice samozřejmě.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A kus kódu nám nepošlete?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No tak jsem se do toho položil, svým způsobem a zjistil jsem, že v tom sloupci mám uložená telefonní čísla formou 123 456 789. Pokud smažu ty mezery je všechno v pořádku. Ten datový typ v tabulce je nvarchar. Zkusil jsem i varchar nebo text a situace je stejná. Pokud tedy vyndám mezery je to OK. Já vím, že v tomhle případě to jde zařídit naformátováním v kódu a nepsat tam ty mezery do databáze, ale stejně je to divný. Nebo mám zase nějaké zásadní mezery ve vzdělání, jako obvykle ? Díky za reakci.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě jeden postřeh či zkušenost jsem učinil - Založil jsem novou tabulku se stejnou strukturou a situace se opakovala totožně. Tady je příkaz na vytvoření tabulky:

 CREATE TABLE [dbo].[SeznamHracu1](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Jmeno] [nvarchar](50) NOT NULL,
	[Prijmeni] [nvarchar](50) NOT NULL,
	[RodneCislo] [nvarchar](50) NULL,
	[Telefon] [nvarchar](50) NULL,
	[CisloDresu] [nvarchar](50) NULL,
 CONSTRAINT [PK_SeznamHracu1] PRIMARY KEY CLUSTERED 

Pokud např. vložím mezeru do rodného čísla neděje se nic a údaj se v DataGridView zobrazí i s mezerou správně. Pokud vložím mezeru do Telefonu, tak údaj problikne a zmizí. Ty počty pozic jsou nadnesené, to vím, ale to by nemělo mít na funkci vliv, ne ?

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Nadnesené počty nevadí. V databázi chyba není.

Bude to někde na straně ASP.NETu. Zašlete kód stránky s DataGridView. Jelikož se jedná o textovou hodnotu, neměl by mít formát žádný vliv. Navíc mezera nepatří mezi "nebezpečné" znaky jako třeba úvozovky nebo špičaté závorky.

Ostatní hodnoty editovat jdou? Jde třeba zadat telefon do pole se jménem?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Budete se asi divit, ale metodou pokus omyl jsem zjistil, že se tabulka chová takto:

Pokud dám do pole přeně šest číslic a mezi ně vložím kamkoli mezeru(lhostejno kolik mezer), tak údaj opět zmizí. Pokud to udělám s písmeny, neděje se nic a je to OK. Pokud změním počet číslic, tak je to taky OK a údaj už nezmizí ;-o. Kódem to podle mne není, jelikož jsem to vyzkoušel na úplně čistém projektu s jednou stránkou a chová se to stejně. Nevyzkoušel jsem to vypublikovat na www - dělám to na aspone.cz jako free. Napadá mě, jestli to není nějaká souhra SQL serveru a mého notebooku - mám tam Visty64x a sql2008. Jak říkám jsem z toho jelen,daněk i muflon.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Víte co mne napadlo ? Já jsem v průběhu času instaloval na svůj notebook Skype a ten má jednu vlastnost, že všechny telefonní čísla v prohlížeči formátuje pro svoje potřeby tak, aby šly volat přes něj. To bude ten zakopaný pes !!! Jdu ho cvičně odebrat a popídit se, jak tuhle jeho "vlastnost" vyřadit - to zatím neumím. Dal bych krk, že to tak bude. Pokud víte, jak to vyřadit, budu Vám vděčný, jinak se ještě ozvu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak je to skutečně tím Skypem !!! Vypnout to samozřejmě jde - v doplňcích IE, ale trápí mne to z hlediska ostatních uživatelů, kteří přistoupí na moje stránky a tohle se jim stane. Jde tedy ošetřit to pole s telefonním číslem tak, aby ho ten plugin od Skypu "neiritoval" a zobrazil se tak jak má ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak přeci to bylo na straně webové aplikace. Tento problém by na SQL Serveru nebyl, nemůže si žádným způsobem dovolit kontrolovat vkládané hodnoty a nějak je upravovat. Pokud to dělá skype, tak je to smutné. Bohužel s tím neporadím, Skype nepoužívám a tomu problému jsem nikdy nečelil, zkuste googlit.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback