Gast cid0m Geschrieben 22. April 2015 Teilen Geschrieben 22. April 2015 (bearbeitet) Hallo, ich habe eine hoffentlich einfach Frage, nämlich gibt es auch die Möglichkeit ein SQL Statement !String abzusetzen ? Ich arbeite im Moment mit SqlConnection und baue damit eine Verbindung zum Server auf, dann setze ich mittels SqlCommand ein Statement ab, dieses Statement ist jedoch ein String und leider bekomme ich dann immer den Fehler das der String zu groß ist und was abgeschnitten worden ist, die beiden variablen die jeweils in ein Feld geschrieben werden sollen sind nämlich einmal 1080 Zeichen und einmal 350Zeichen lang. Hier einmal das Statement: string sqlStatement = "Update [dbo].[User] SET [signature]=" + "'" + signature + "'" + ", [lizenz]=" + "'" + license + "'" + " where [kennung]='" + txtBox_Kennung.Text + "'"; Also habe ich Google bemüht und versucht was anderes zu finden und stieß auf das Entity Framework. Ich habe mir dann einmal das Entity Framework angeschaut und auch da scheint immer ein String genutzt zu werden um das Statement abzusetzen, was mir also auch nicht weiterhilft Habe ich was übersehen, denn es kann ja nicht sein das C# keine Möglichkeit bietet auch längere Tabellenfelder zu füllen ? Hoffe mir kann da jemand weiterhelfen. Tschau Bearbeitet 22. April 2015 von cid0m Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goulasz Geschrieben 22. April 2015 Teilen Geschrieben 22. April 2015 Ich glaube eher, dass die Werte, die du in deine Felder schreiben willst, größer sind, als der eigentlich für die Spalte definierte Datentyp. Und daher ein Truncate-Fehler kommt. Du möchtest dich außerdem mit SQL Injection auseinandersetzen. Das Entity Framework ist übrigens auch eine gute Sache. Da solltest du dich ebenfalls mit beschäftigen. Gruß, Goulasz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 22. April 2015 Teilen Geschrieben 22. April 2015 Du möchtest dich außerdem mit SQL Injection auseinandersetzen. Dieses. So wie du dein SQL Statement zusammenbaust ist absolut böse und solltest du ab sofort nicht wieder machen. Der Korrekte Weg wäre wie hier im Beispiel gezeigt: https://msdn.microsoft.com/de-de/library/system.data.sqlclient.sqlcommand.parameters(v=vs.110).aspx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast cid0m Geschrieben 22. April 2015 Teilen Geschrieben 22. April 2015 (bearbeitet) Ich glaube eher, dass die Werte, die du in deine Felder schreiben willst, größer sind, als der eigentlich für die Spalte definierte Datentyp. Und daher ein Truncate-Fehler kommt. Das war es :old sowas dummes auch xD Werde mich auch weiter damit beschäftigen, soweit es meine Zeit zu lässt. Mache meine Ausbildung im IBM RPG Umfeld und habe jetzt die Aufgabe bekommen ein Projekt mit C# zu machen. Daher tue ich jetzt mein möglichstes um mich nebenbei damit auseinanderzusetzen und das Projekt fertig zu machen. Zum Glück ist es nur ein Internes, da ist es dann erstmal zweitrangig wie elegant es geschrieben worden ist, Hauptsache es läuft und wurde schnell fertiggestellt xD Danke für die Ratschläge und die schnelle Fehlererkennung Bearbeitet 22. April 2015 von cid0m Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arlegermi Geschrieben 23. April 2015 Teilen Geschrieben 23. April 2015 Nur kurz zum Entity Framework: Ja, wenn du SQL per Hand schreiben möchtest, kommst du um Strings nicht drumrum (war ja hier auch gar nicht das Problem), aber es gibt auch so schöne Sachen wie LINQ to SQL, das dir ermöglicht, direkt auf den Objekten zu arbeiten und EF das SQL generieren zu lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.