nunolevezinho Posted August 7, 2012 at 02:47 PM Report #471662 Posted August 7, 2012 at 02:47 PM (edited) Boas, Estou a iniciar-me na programação em ASP.NET e estou a tentar fazer uma página simples com um insert numa base de dados mdf. Estou a fazer a criar a string de ligação e acontece que quando adiciono um \ na string ele tenta fazer escape a qualquer coisa. Mas eu não pretendo que ele faça isso. Tenho a minha ligação assim: string caminho = this.Server.MapPath("~/app_data/dados.mdf"); System.Data.SqlClient.SqlConnection ligacao = null; try { ligacao = new System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" + caminho + ";Integrated Security=True;User Instance=True"); Na parte do .\SQLEXPRESS é onde me dá o tal erro (Unrecognized Escape Sequence). Como posso resolver isto? Edited August 7, 2012 at 07:11 PM by nunolevezinho
pmg Posted August 7, 2012 at 03:21 PM Report #471665 Posted August 7, 2012 at 03:21 PM (edited) Com \\ A primeira barra invertida é o chamado "escape character". Serve para dizer que o caracter seguinte é para ser tratado de forma especial, por exemplo \n é tratado como apenas um caracter: o fim de linha. No teu caso o compilador pensa que queres dar um significado especial ao S, mas não encontra nenhum por isso queixa-se. Se usares \\ o significado especial da segunda barra é a barra propriamente dita ligacao = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=" + caminho + ";Integrated Security=True;User Instance=True"); Edit só para reforçar: as construções de \ seguido de um caracter válido só ocupam 1 caracter: "\n" -- fim de linha -- 1 caracter "\\" -- barra invertida -- 1 caracter "\S" -- sem significado Edited August 7, 2012 at 03:23 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Rechousa Posted August 7, 2012 at 03:28 PM Report #471667 Posted August 7, 2012 at 03:28 PM (edited) Viva, Outra forma de resolver o problema é usando o caractér arroba (@) no início da string: ligacao = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + caminho + ";Integrated Security=True;User Instance=True"); Edited August 7, 2012 at 03:30 PM by Rechousa Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
nunolevezinho Posted August 7, 2012 at 07:10 PM Author Report #471689 Posted August 7, 2012 at 07:10 PM Hmm, Obrigado aos dois. Ja está a bombar 👍
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now