Я уже искал ошибкисоединения строка Свойство SqlConnection не инициализируется
строка свойство соединения не был инициализирован.
на Google, а также на переполнение стека, но не смог найти решение. Я создал класс базы данных для взаимодействия с базой данных, все связанные коды написаны в этом файле. Проблема в том, что тот же код отлично работает на других страницах, и он просто не работает на странице с именем «addevent.aspx». Я не понимаю, почему он работает неправильно.
Вот методы, которые я создал в database.cs файл
public void CreateConnection()
{
var ConfiguredString = ConfigurationManager.ConnectionStrings[ConnectionString].ConnectionString;
obj_sqlconnection = new SqlConnection(ConfiguredString);
}
//This property will set the connection string for database
public string ConnectionString
{
get
{ //if _connectionString is already created or set, only then it will return the value of _connectionString
if (_connectionString != string.Empty && _connectionString != "" && _connectionString != null)
return _connectionString;
else
return string.Empty;
}
// When you want to set the connection string set block is called.
set
{ // this line sets the connection string to the _connectionString data member for the first time.
if (_connectionString == string.Empty || _connectionString == "" || _connectionString == null)
_connectionString = value;
}
}
// Open database connection.
public void OpenConnection()
{
obj_sqlconnection.Open();
}
// Close database connection.
public void CloseConnection()
{
obj_sqlconnection.Close();
obj_sqlconnection.Dispose();
}
public SqlConnection GetCurrentConnection
{
get { return obj_sqlconnection; }
set { obj_sqlconnection = value; }
}
Я просто не понимаю логику этой ошибки и ее возникновения. Я получаю эту ошибку, когда я открываю соединение
Как я называю эти методы, я уже создал объект database.cs класса вне метода AddEvent с именем объекта MyDB
public int AddEvent(string _title, string _description, string _place, int _eventTypeID, string _startingTime, string _endingTime, string _startingDate, string _endingDate, string _creatorID, string _picture)
{
string[] blacklist = { _title, _description, _place, _picture };
if (Jvalidate.FilterBlackLIstKeywords(blacklist))
{
int eventid = Convert.ToInt32(mydb.GetLastValueByColumnName("event_id", "tbl_events"));
int rowsaffected = 0;
mydb.CreateConnection();
mydb.InitializeSQLCommandObject(mydb.GetCurrentConnection, "spAddEvent", true);
mydb.obj_sqlcommand.Parameters.AddWithValue("@eventID", eventid + 1);
mydb.obj_sqlcommand.Parameters.AddWithValue("@title", _title);
mydb.obj_sqlcommand.Parameters.AddWithValue("@description", _description);
mydb.obj_sqlcommand.Parameters.AddWithValue("@place", _place);
mydb.obj_sqlcommand.Parameters.AddWithValue("@eventType", _eventTypeID);
mydb.obj_sqlcommand.Parameters.AddWithValue("@startingTime", _startingTime);
mydb.obj_sqlcommand.Parameters.AddWithValue("@endingTime", _endingTime);
mydb.obj_sqlcommand.Parameters.AddWithValue("@startDate", _startingDate);
mydb.obj_sqlcommand.Parameters.AddWithValue("@endDate", _endingDate);
mydb.obj_sqlcommand.Parameters.AddWithValue("@schoolID", SchoolID);
mydb.obj_sqlcommand.Parameters.AddWithValue("@eventCreatorID", _creatorID);
mydb.obj_sqlcommand.Parameters.AddWithValue("@eventPicture", _picture);
try
{
//mydb.obj_sqlconnection.ConnectionString = ConfigurationManager.ConnectionStrings["cesConnectionString"].ToString();
mydb.OpenConnection();
rowsaffected = mydb.obj_sqlcommand.ExecuteNonQuery();
}
finally
{
mydb.CloseConnection();
mydb.obj_sqlcommand.Dispose();
}
return rowsaffected;
}
return 0;
}
Пожалуйста, покажите, как вы используете методы класса – Steve
Я обновил сообщение. Пожалуйста, просмотрите его там –
Из этого кода я не могу быть уверен, откуда это происходит. На какой линии вы получаете исключение? Вы пытались использовать отладчик для проверки состояния соединения при возникновении исключения? – Steve