Laden...

Gibts in C# QuotedStr

Erstellt von ZeroQool vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.582 Views
Z
ZeroQool Themenstarter:in
322 Beiträge seit 2006
vor 17 Jahren
Gibts in C# QuotedStr

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;
49.485 Beiträge seit 2005
vor 17 Jahren

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

347 Beiträge seit 2006
vor 17 Jahren

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. 😉

Z
ZeroQool Themenstarter:in
322 Beiträge seit 2006
vor 17 Jahren

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.

564 Beiträge seit 2005
vor 17 Jahren

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.