» Poradna » Programy

Chyba s MySQLCommand v C#

 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

Ahoj všichni,udělal jsem nový web a teď vytvářím aplikaci pro jeho administraci v C#. Používám třídu MySqlCommand, ale ta mi neustále vrací tuto chybu: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'width: 412px; margin-left: auto; margin-right: auto; margin-top: 15px;"><img src' at line 1". Nevíte někdo co s tím? Padá to na tomto řádku: new MySqlCommand("UPDATE csharp SET nazev = \"" + this.title.Text + "\", obsah = \"" + this.content.Text + "\" WHERE id = " + this.id, this.connection).ExecuteNonQuery();. Díky moc za pomoc ;)

Odpovědi na otázku

 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Slyšel jsi někdy o SQL Injection?Snažíš se tam protlačit text, který obsahuje uvozovky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

To mě napadlo, ale jak je mám odstranit? Existuje snad nějaký ekvivalent mysql_real_escape_string pro C#?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Použij parametrizované dotazy. Tím vyřešíš i SQL Injection.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

Pokud tam fakt chceš data s uvozovkama, tak by to tam možná šlo protlačit přes pametrické dotazy. Nějaký příklad najdeš třeba tady:http://stackoverflow.com/questions/652978/paramete... Ale s MySQL jsem v C# nikdy nedělal tak ti s tím asi víc neporadím.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

Tohodle se trochu bojím.. původně jsem to tak řešil, ale dopadlo to smazanou databází :D. Samozřejmě mám zálohy, takže díky všem za pomoc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

To smazanou databázi fakt skončit nemůže.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

A co kódování? Zkoušel jsem odeslat "ěščřžýáíé", ale do databáze dorazilo pouze "ešcržýáíé". Databáze je dělaná v UTF-8.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

A text, který tam odesíláš, je taky v UTF-8?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

To právě nevím. Jak to mám ovlivnit?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Nejspíš tam ukládáš části nějaké webové stránky. V jakém je kódování?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

V tom dotazu odesílám text z RitchTextboxu do databáze, která je dělaná v UTF-8.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Zkontroluj si syntax ta chyba bije primo do oci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

V tom případě to nejspíš bude UTF-16.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

A jak to mám tedy překódovat od UTF-8?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

Pár minutek s googlem, a mohlo by fungovat přidání kodování do connection stringu:Charset=utf8Ale někde jsem se dočetl že to je Case Sensitive, a funguje jen tento zápis co jsem napsal. Bohužel jinde jsem se dočetl, že to zase funguje jen takto: CharSet=UTF8;Takže to asi budeš muset trochu vyzkoušet, která velikost písmen vlastně funguje. Třeba to bude: charset=Utf8;

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 25.0.1364.172

Všem děkuji za ochotu. Program už funguje podle očekávání a já si jdu dát něco k jídlu. Jen tak pro zajímavost kódování se určuje: CharSet=utf8;.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Syntax, Right, Nový web




Určitě si přečtěte

Dell XPS 13: Když vás ostatní doženou až za tři roky

Dell XPS 13: Když vás ostatní doženou až za tři roky

** XPS 13 nastartoval trend notebooků bez rámečků ** Letošní model kompletně přechází na USB-C ** Navzdory malému tělu se řadí výkon ke špičce

Tomáš Holčík | 34

Praktické vychytávky, které si chcete doinstalovat do Windows

Praktické vychytávky, které si chcete doinstalovat do Windows

** Pokud vás nudí vzhled nabídky Start, snadno jej můžete změnit. ** Stejně tak existují programy na přidání záložek do programů. ** Spokojit se ani nemusíte se základním ovládáním hlasitosti.

Vladislav Kluska | 46

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

** Apple dnes představuje nové produkty v čele s novými iPhony ** Nemusí zůstat jen u telefonů, čekají se i další novinky ** Úvodní přednáška začíná v 19:00 našeho času

David Polesný | 57

Porno insider: Jak Greg Lansky mění internet pro dospělé

Porno insider: Jak Greg Lansky mění internet pro dospělé

** Erotický obsah generoval ohromné peníze, pak ale přišel internet... ** Pornografie dostupná všude a zdarma uvedla tvůrce do krize ** Někteří ale dokázali potenciál internetu využít i v tomto oboru

Jan Dudek | 12


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku