#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»