MS SQL – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

MS SQL – .NET – Fórum – Programujte.comMS SQL – .NET – Fórum – Programujte.com

 

Tomas
~ Anonymní uživatel
560 příspěvků
7. 8. 2010   #1
-
0
-

Ked pouzijem prikaz SELECT [meno] FROM [tabulka] WHERE meno='Peter' ako potom pomocou C# kodu zistim ze tato hodnota neexistuje? Potrebujem proste zistit ci sa to dane meno nachadza v tabulke a ak nie tak ho vytvorit. Ked porovnam nacitanu hodnotu z SqlDataReaderu napr z prazdnym retazcom pripade null tak to nejde.


Nahlásit jako SPAM
IP: 213.181.128.–
KIIV
~ Moderátor
+43
God of flame
7. 8. 2010   #2
-
0
-

co pocet polozek, ktere splnuji podminku?

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
7. 8. 2010   #3
-
0
-

To sa ako robi? Som zaciatocnik v MS SQL....

Nahlásit jako SPAM
IP: 213.181.128.–
KIIV
~ Moderátor
+43
God of flame
7. 8. 2010   #4
-
0
-

nu pro zacatek se seznam s jednou strankou jmenem "google", tam zadej: "mssql pocet radku" ... a pak zbezne prolitni co ti to vyhodilo

a protoze mam dnes dobrou naladu tak je to agregacni funkce count(*) .. ale i tak to zkus najit schvalne taky

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Petrroll0
Stálý člen
7. 8. 2010   #5
-
0
-

If(tabulka.Where(jmen => String.Equals(jmen.Jmeno, "Peter").Count() == 0)

{
//Přidání Petra
}

Nahlásit jako SPAM
IP: 92.62.224.–
splite0
Newbie
10. 8. 2010   #6
-
0
-

To Petrroll : Ne vždy je LINQ k dispozici...

Pokud jsem to správně pochopil chceš aby byla jména unikátní, ne? Potom máš ale nejlepší hodit si na sloupec s jménama prostě a jednoduše unique index - a c# ti pak při vzniklé duplikaci vyhodí vyjímku, tu chytneš a řekneš bfu ať si změní jméno...
Dělá se to tak, že v Server Exploreru klikneš Pravým myši na sloupec který chceš a vybereš "Index/Keys" (nebo tak nějak) a tam už si snad poradíš :)

Pokud ne, tak triviální query:

SELECT COUNT(*) AS pocet FROM [tabulka] WHERE meno='Peter';

vrátí počet řádků s jménem Peter :)

Kdyby jsi chtěl bejt drsnej tak si můžeš napsat skalární funkci:

CREATE FUNCTION dbo.JeVDB(@jmeno varchar(50))

RETURNS BIT
AS
BEGIN
DECLARE @value INT
DECLARE @result BIT

SELECT @value = COUNT(*) FROM
[tabulka] WHERE meno = @jmeno;

IF(@value = 0)
BEGIN
SET @result = 0;
END
ELSE
BEGIN
SET @result = 1;
END

RETURN @result;
END

a pak query bude jen takováhle:
SELECT JeVDB("Peter") AS jetamneboneni;
No a pak v c# zavoláš na sqlcmd.ExecuteScalar()

Ale to už je jak s kanonem na vrabce a dávám to sem jen pro zajímavost :) Nejlepší řešení je asi ten unique index.

Jo a píšu to z hlavy, takže možná je tam někde chybka...

Nahlásit jako SPAM
IP: 92.62.224.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

SQL — založil MarekS

SQL — založil maajoo1

SQL a C++ — založil Peter D.

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý