Как хранить цепь связи в переменной string в C#?

Я разрабатываю приложение инвентаря, главным образом система работает с Энтити Фрамеворк, но данность по отношению к пунктуальной ситуации я имею необходимость использовать System.Data.SQLConnection моя проблема коренится в, который я храню в переменной типа string но меня помечает линия как ошибка, говорит Новую линию в постоянной величине.

Код - следующий:

 public class CustomConnection {
      private string cnn = "data source=127.0.0.1\sqlserver; intial catalog=dbInv; user id = ****; password = ****;";

      public SQLConnection conect() {
           try {
                var cn = new SQLConnection(this.cnn);
                cn.Open();
                return cn;
           }
           catch(Exception ex) {
                throw new Exception("Error: " + ex.Message);
           }
      }
 }
0
задан 10.01.2017, 19:44
0 ответов

То, что он перемещает, что \ внутри цепи string это специальный символ. Решение - что вместо \ помести \\ или что ты предпочел один @ перед нею первый двойная кавычка цепи.

Решение 1:

 public class CustomConnection {
      private string cnn = "data source=127.0.0.1\\sqlserver; intial catalog=dbInv; user id = ****; password = ****;";

      public SQLConnection conect() {
           try {
                var cn = new SQLConnection(this.cnn);
                cn.Open();
                return cn;
           }
           catch(Exception ex) {
                throw new Exception("Error: " + ex.Message);
           }
      }
 }

Решение 2:

 public class CustomConnection {
      private string cnn = @"data source=127.0.0.1\sqlserver; intial catalog=dbInv; user id = ****; password = ****;";

      public SQLConnection conect() {
           try {
                var cn = new SQLConnection(this.cnn);
                cn.Open();
                return cn;
           }
           catch(Exception ex) {
                throw new Exception("Error: " + ex.Message);
           }
      }
 }
3
ответ дан 03.12.2019, 17:46

Эта ошибка проистекает того, что ты должен убегать вложенные такие диагонали \\ для того, чтобы твоя цепь связи осталась такой:

private string cnn = "data source=127.0.0.1\\sqlserver; intial catalog=dbInv; user id = ****; password = ****;";
1
ответ дан 03.12.2019, 17:46

Из-за которого ты это не используешь прямо с файла конфигурации

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>    

  <connectionStrings>
    <add name="default" connectionString="Data Source=.;Initial Catalog=PrismaNvo;User ID=sa;Password=xxx"/>
  </connectionStrings>

</configuration>

использование

using (var cn = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
            {
1
ответ дан 03.12.2019, 17:46