Hallo, SF hat nichts ergeben. Bei Delphi gibt es den Befehl QuotedStr um Strings ect. in klammern zu bringen. Wie lautet der Befehl bei C#?
Delphi BspCode
'IF EXISTS (select name from dbo.sysobjects ' +
' WHERE name = ' + QuotedStr(ProcName)+
' and type = ' + QuotedStr('P') +')' +
' DROP PROCEDURE ' + ProcName;
Hallo ZeroQool,
wenn ich QuotedStr "Die Funktion gibt für einen String die entsprechende Version in Anführungszeichen zurück." richtig verstanden habe:
str = """ + str + """;
oder
str = String.Format (""{0}"", str);
herbivore
Original von herbivore
wenn ich QuotedStr "Die Funktion gibt für einen String die entsprechende Version in Anführungszeichen zurück." richtig verstanden habe:
str = """ + str + """;
oder
str = String.Format (""{0}"", str); Hi hebivore,
nicht ganz. Delphis QuotedStr würde eher so aussehen:
return "\'" + inputString.Replace("\'","\'\'") + "\'";
Ich muss aber noch einen Fall sehen, in dem diese Funktion benutzt wird, der nicht gegen das Prinzip verstösst möglichst keine Werte in SQLs einzubetten. 😉
Hallo, thx für die Antworten.
Sorry hätte erwähnen sollen, das QuotedStr dafür da ist um Strings in Hochkommas zu setzen, zB bei einer SQL Where Anweisung, wenn das WhereFeld und der WhereWert ein String ist.
Hallo ZeroQool,
in C# gibt es dafür eine andere Lösung:
SqlConnection sqlConnection = new SqlConnection("connectionString");
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = "SELECT * FROM testtable WHERE name = @name";
sqlCommand.Parameters.Add(new SqlParameter("@name", "dername"));
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
Wobei "dername" soviele " oder ' enthalten kann wie du willst.