Свойство ConnectionString не инициализировано

Здравствуйте, доброе утро! Я программирую на C # У меня есть метод, который я показываю ниже, но он выдает ошибку, которая сообщает

Необработанное исключение типа 'System.InvalidOperationException' произошло в System.Data. dll Дополнительная информация: свойство ConnectionString не было инициализировано

Я действительно не могу найти ошибку, если кто-то может мне помочь, я был бы очень признателен.

public static bool Conectar()
    {
        bool conectado = false;
        conexion = new SqlConnection(cadenaConexion);
        try
        {            
            conexion.Open();
            conectado = true;
        }
        catch (SqlException ex)
        {
            errorconexion = ex.Message;
        }
        return conectado;
    }
2
задан 24.10.2016, 21:15
3 ответа

Я рекомендовал бы тебе делать следующее:

В твоем Вебе config

<connectionStrings>
    <add name="DBConnStr" connectionString="server=127.0.10.31;database=Example;UID=admin;PWD=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>

И также он рекомендовал бы тебе использовать так твою переменную, больше, чем как таковой метод, определять переменную внутри твоего Класса, Услуги или чего-нибудь в этом роде, я буду предполагать, что это Услуга

namespace MiNameSpace
{
    public class IServiceTopStore : IIServiceTopStore
    {
        public static string Db = (ConfigurationManager.ConnectionStrings["DBConnStr"].ConnectionString);
        public static bool Conectar()
        {
            bool conectado = false;
            SqlConnection conexion = new SqlConnection(Db);
            try
            {            
               conexion.Open();
               conectado = true;
            }
            catch (SqlException ex)
            {
               errorconexion = ex.Message;
            }
            return conectado;
         }
    }
}

Конечно все это думая, что у тебя есть какое-то Веб приложение wcf, или как таковой ws, но не случай ли это он не является более легким, чем:

public class MiClase
{
    public static string Db = "server=127.0.10.31;database=Example;UID=admin;PWD=123456"
    public static bool Conectar()
    {
        bool conectado = false;
        SqlConnection conexion = new SqlConnection(Db);
        try
        {            
           conexion.Open();
           conectado = true;
        }
        catch (SqlException ex)
        {
           errorconexion = ex.Message;
        }
        return conectado;
     }
}
1
ответ дан 24.11.2019, 12:57
  • 1
    Быть осторожен с переменной Db быть должным и # 237; когда его быть static quiz и # 225; чтобы мочь соглашаться с м и # 233; совсем static в Вашу стоимость. – Dev. Joel 24.10.2016, 22:19
  • 2
    @Dev. Джоэл спасибо за достижение!, я буду изменять – sioesi 24.10.2016, 22:30

Если у тебя есть метод, который inicializa твоя изменчивая цепь Conexion , ты был бы должен называть это перед тем, как реализовывать SqlConnection если не, у изменчивого счастья не будет стоимости

 public static void inicializar() {
  cadenaConexion = "SERVER=127.0.10.31;DATABASE=Example;User id=admin; Password=123456;" 
  } 

 public static  bool Conectar()
    {
        bool conectado = false;
        inicializar(); /*Dar valores a tu cadena de conexion*/
        conexion = new SqlConnection(cadenaConexion);
        try
        {
            conexion.Open();
            conectado = true;
        }
        catch (SqlException ex)
        {
            errorconexion = ex.Message;
        }
        return conectado;
    }
3
ответ дан 24.11.2019, 12:57

Я рекомендую тебе использовать SqlConnectionStringBuilder:

SqlConnectionStringBuilder builder =
        new SqlConnectionStringBuilder(connectString);

    // Supply the additional values.
    builder.DataSource = dataSource;
    builder.UserID = userName;
    builder.Password = userPassword;
    Console.WriteLine(builder.ConnectionString);

Использует цепь, что ты dГ© с правильными данными, потому что у тебя есть ошибка формата, я думаю, что он в User, пойдите.

ты Можешь видеть ее documentaciГіn, что ты нуждаешься в сайт Девелопер Нетворк .

2
ответ дан 24.11.2019, 12:57
  • 1
    но переменная connectString должна быть инициализировавшей. – Mauricio Arias Olave 24.10.2016, 23:56
  • 2
    Не надо, существует строитель Скльконнектионстрингбуильдер (). Потом он уходит в и # 241; adiendo каждая пара и # 225; метр, чтобы формировать цепь. – Awes0meM4n 25.10.2016, 10:47
  • 3
    Спасибо за информацию, он не был приученным для этого класса. – Mauricio Arias Olave 25.10.2016, 16:01