Ошибка при попытке подключиться к базе данных sql Server из C#.Net

#c# #sql-server

#c# #sql-сервер

Вопрос:

Вот код

 public string connectionString = ConfigurationManager.AppSettings["myconnection"];

public int get_details(string team1_name, string team2_name)
{
            SqlConnection con = new SqlConnection(connectionString);
            string sql = "insert into Table(team1_name,team2_name) values(@team1_name,@team2_name)";
            SqlCommand cmd = new SqlCommand(sql,con);
            cmd.Parameters.AddWithValue("@team1_name", team1_name);
            cmd.Parameters.AddWithValue("@team2_name", team2_name);

            try
            {
                con.Open();
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
}
 

Всякий раз, когда я запускаю этот код, ошибка говорит

Необработанное исключение типа ‘System.Исключение InvalidOperationException’ произошло в dblayer.dll

Дополнительная информация: Свойство ConnectionString не было инициализировано.

Кто-нибудь может мне помочь?

Комментарии:

1. Вы пробовали пошагово использовать отладчик, чтобы посмотреть, что connectionString установлено?

2. вы проверили строку подключения ?

Ответ №1:

Решение 1. Вам необходимо использовать следующий оператор для правильной инициализации строки подключения.

 public string connectionString =ConfigurationManager.ConnectionStrings
         [ConfigurationManager.AppSettings["myconnection"]].ConnectionString;
 

Решение 2:

Table является ключевым словом, поэтому вам нужно заключить его в квадратные скобки [] .

Замените это:

 string sql = "insert into Table(team1_name,team2_name) 
                                                values(@team1_name,@team2_name)";
 

С :

 string sql = "insert into [Table](team1_name,team2_name) 
                                                values(@team1_name,@team2_name)";
 

Комментарии:

1. Я попробовал оба решения 1 и 2, это показывает ошибку «Необработанное исключение типа ‘System.NullReferenceException’ произошло в dblayer. dll Дополнительная информация: ссылка на объект не установлена для экземпляра объекта. »

2. @user3769584: вы получаете исключение при connectionstring не могли бы вы отладить и посмотреть, действительно ли инициализируется строка подключения.

3. @user3769584: не могли бы вы, пожалуйста, поделиться своим конфигурационным файлом, в котором connectionstring был инициализирован ваш hasben.

4. <?версия xml= «1.0» кодировка =»utf-8″ ?> <конфигурация> <Настройки приложений> <добавить ключ =»myconnection» значение =»источник данных = ritesh-pc sqlexpress; Начальный каталог = cricscore; Встроенная безопасность = true;»/> </AppSettings> </конфигурация>

5. @user3769584: это приложение winform или веб-приложение?

Ответ №2:

Попробуйте это:

Строка подключения:

 <configuration>
 <connectionStrings>
   <add name="conName" connectionString="Server=ServerName;initial catalog=DBName;User ID=sa;Password=sa123;"/> // SQL server Authentication
 </connectionStrings>
<configuration>

 public string connectionString = ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;


    public int get_details(string team1_name, string team2_name)
    {
        SqlConnection con = new SqlConnection(connectionString);
        string sql = "insert into Table(team1_name,team2_name) values(@team1_name,@team2_name)";
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@team1_name", team1_name);
        cmd.Parameters.AddWithValue("@team2_name", team2_name);
        try
        {
            cmd.Connection = con;
            con.Open();
            return cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            con.Close();
        }
    }
 

Комментарии:

1. Ошибка гласит: «В dblayer произошло необработанное исключение типа ‘System.NullReferenceException’. dll Дополнительная информация: ссылка на объект не установлена для экземпляра объекта. »

2. @user3769584 не могли бы вы опубликовать свою строку подключения из web.config?

3. <?версия xml = «1.0» кодировка =»utf-8″ ?> <конфигурация> <Настройки приложений> <добавить ключ =»myconnection» значение =»источник данных = ritesh-pc sqlexpress;Начальный каталог = cricscore; Встроенная безопасность = true;»/> </AppSettings> </конфигурация>

4. Возникает ошибка «Исключение нулевой ссылки не было обработано»

5. Конфигурационный файл не распознает ключевые слова «name» и «ConnectionString»