inserta en sql db una cadena que contiene un carácter especial '

Quiero insert en una tabla SQL una cadena que pueda contener 'carácter'.

¿Cuál es mi mejor manera de hacerlo? ¿Debo insert un \ antes de '? aquí está mi command en código de CA #:

SqlCommand myCommand = new SqlCommand( String.Format( "insert into ACTIVE.dbo.Workspaces_WsToRefile values({0},'{1}',getdate())", folderId, NewWorkspaceName), myConnection); 

donde NewWorkspaceName podría contener 'carácter, por lo que el inserto provocará una exception en este momento.

gracias en avanzado, hadas.

Deberías estar usando SqlParameter. http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx

  string query = "insert into ACTIVE.dbo.Workspaces_WsToRefile values(@folderID, @newWorkSpace, @createDate)"; using(SqlCommand cmd = new SqlCommand(query, SqlConnection)) { SqlParameter param = new SqlParameter("@folderID", folderId); param.SqlDbType = SqlDbType.Int; cmd.Parameters.Add(param); ..... } 

Solo tienes una opción, olvida todo lo demás. Utilice consultas parametrizadas como esta

 SqlCommand myCommand = new SqlCommand("insert into ACTIVE.dbo.Workspaces_WsToRefile" + " values(@id, @space, getDate()", myConnection); myCommand.Parameters.AddWithValue("@id", folderId); myCommand.Parameters.AddWithValue("@space", NewWorkspaceName); myCommand.ExecuteNonQuery(); 

folderID y NewWorkspaceName, se pasan al Motor Sql dentro de los parameters.
Esto se ocupará de caracteres especiales como comillas.
Pero obtienes otro beneficio usando consultas parametrizadas. Evita los ataques de inyección Sql

 NewWorkspaceName= NewWorkspaceName.Replace("\'","\'\'"); 

'' es un 'en sql

Puedes intentar esto:

 string stringToDatabase=Server.HtmlEncode("կҤїАͻBsdҤїА"); 

Esto guarda 'stringToDatabase' en su database. Entonces mientras retreiving

 string OriginalText=Server.HtmlDecode(stringFromDatabase);