Zum Inhalt springen

SQL-Statement immer als String ?


Gast cid0m

Empfohlene Beiträge

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 von cid0m
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Bearbeitet von cid0m
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...