Witam, mam taki mały problem, a mianowicie zacząłem niedawno, w sumie dzisiaj uczyć się klas SQL w c#, jeśli można to tak ująć, i aktualnie robię dla siebie takie "archiwum", w którym znajduje się spis moich gier oraz oraz ich lokalizacje. Jest to Windows Form, ale mam problem z czym innym.
Powiecie mi proszę jak usunąć te niepotrzebne linie w bazie? Czego to wina i jak temu zapobiegać? Oczywiście w kodzie, bo że teraz mogę to usunąć to oczywiście wiem.
O jakich niepotrzebnych liniach konkretnie piszesz?
kzkzg napisał(a):
O jakich niepotrzebnych liniach konkretnie piszesz?
Na pierwszym zdjęciu jest widoczny kursor, i przez takie puste linie nie mogę wykonywać niektórych operacji.
Na początku to w ogóle zacząłbym od przestania ręcznego sklejania sqli
https://www.plukasiewicz.net/Artykuly/SQLInjection_dla_poczatkujacych
https://stackoverflow.com/questions/14376473/what-are-good-ways-to-prevent-sql-injection
WeiXiao napisał(a):
Na początku to w ogóle zacząłbym od przestania ręcznego sklejania sqli
https://www.plukasiewicz.net/Artykuly/SQLInjection_dla_poczatkujacych
https://stackoverflow.com/questions/14376473/what-are-good-ways-to-prevent-sql-injection
Dzięki, poprzeglądam sobie, ale to raczej nie tego szukam, chodzi mi o to dlaczego pojawia się ta dodatkowa przestrzeń i jak ją usunąć w kodzie, a zabezpieczenia przed hackerami etc., ogarnę dopiero jak nauczę się tego i innych "podstaw" dla mnie.
Ten gamenameBox to z palca uzupełniasz czy w jakiś inny sposób? Sprawdzałeś debbugerem czy ten znak | występuje w gamenameBox.Text? Ostatecznie podczas klejenia SQL'a mozesz spróbować takie coś:
gamenameBox.Text.Replace("|","").TrimEnd();
kzkzg napisał(a):
Ten gamenameBox to z palca uzupełniasz czy w jakiś inny sposób? Sprawdzałeś debbugerem czy ten znak | występuje w gamenameBox.Text? Ostatecznie podczas klejenia SQL'a mozesz spróbować takie coś:
gamenameBox.Text.Replace("|","").TrimEnd();
Uzupełniam go ręcznie podczas działania aplikacji.
A i podczas sklejania to masz na myśli, w którym konkretnie momencie?
R3G33 napisał(a):
Jak widać dalej jest taki duży odstęp.
Taki odstęp jak sprawdziłem to jest 5 tabów + 1 spacja :p, a tak poważnie to denerwuje, bo przez to nie mogę zrobić innych operacji po odczytaniu tego za pomocą SqlReader'a, więc muszę się pozbyć jakoś tych spacji.
Ok, wiem czego to kwestia, ale dalej nie wiem jak temu zaradzić. Podczas tworzenia kolumny podałem typ nchar(50) i nie użyte miejsce zastępuje spacjami, aż liczba znaków nie wyniesie 50. Jak to naprawić?
Użyj NVARCHAR(50)
. Typ NCHAR
posiada stałą liczbę znaków i w zasadzie używa się go tylko jeżeli dane w jednej kolumnie mają zawsze stałą długość (np. PESEL).
Ktos napisał(a):
Użyj
NVARCHAR(50)
. TypNCHAR
posiada stałą liczbę znaków i w zasadzie używa się go tylko jeżeli dane w jednej kolumnie mają zawsze stałą długość (np. PESEL).
Prawda, już działa. Dzięki Wielkie!