Ich verwende eine API, die eine SQL-Zeichenfolge erwartet. Ich nehme eine Benutzereingabe, entziehe sie und gebe sie an die API weiter. Die Benutzereingabe ist ziemlich einfach. Es fragt nach Spaltenwerten. Wie so:So entziehen Sie einfache SQL-Abfragen in C# für SqlServer
string name = userInput.Value;
Dann konstruiere ich eine SQL-Abfrage:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
name.replace("'", "''"));
Ist das sicher genug? Wenn dies nicht der Fall, gibt es eine einfache Bibliotheksfunktion, die Spaltenwerte sicher zu machen:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
SqlSafeColumnValue(name));
Die API SQLServer als Datenbank verwendet.
Sie ** ** Bedarf Parameter zu verwenden. – SLaks
@SLaks, offensichtliche die API erlaubt es nicht. Vielleicht braucht er eine neue API. –
@sri Sie erhalten bessere Antworten, wenn Sie erklären, warum Sie Parameter nicht verwenden können/werden. – Foole