Я думаю, что мне трудно подключиться к моей базе данных, потому что она не обновляется, когда она должна. Я не уверен, почему это так. Вот мой .aspx.cs файл:Моя база данных доступа не обновляется (ASP.NET)
public partial class addClass : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
private static OleDbConnection GetConnection()
{
String connection;
connection = @"connectionstring";
return new OleDbConnection(connection);
}
string one = "one";
protected void submitButton_Click(object sender, EventArgs e)
{
OleDbConnection myConnection = GetConnection();
try
{
myConnection.Open();
String myQuery = "INSERT INTO Yoga Class([ClassName], [Level], [Duration], [Capacity], [Description]) values ('" +
classNameTextBox.Text + "','" + levelDropDownList.SelectedItem.Text + "','" + durationDropDownList.SelectedItem.Text + "','" + capacityDropDownList.SelectedItem.Text +
"','" + descriptionTextBox.Text + "');";
String myQuery2 = "INSERT INTO YogaTeacher([TeacherID]) values('" +one+ "');";
OleDbCommand myCommand = new OleDbCommand(myQuery, myConnection); //get rid of parameters
myCommand.ExecuteNonQuery();
myConnection.Close();
}
catch
{
Response.Write("Form did not submit due to an error");
}
finally
{
myConnection.Close();
}
}
}
}
Я думаю, что причина его не обновляется, потому что столбец teacherID в таблице «Йога класса» является внешним ключом из другой таблицы. Сообщение об ошибке в выражении «catch» отображается, когда я нажимаю кнопку «Отправить». Я прав? И если я могу изменить свой код, чтобы он работал?
Любая помощь приветствуется
Спасибо
Помните, я спрашиваю, почему вы используете Microsoft Access? Я не видел, чтобы кто-то использовал базу данных доступа для хранения данных в приложении за десятилетие, ее обычно не считают хорошая идея. Если это не для работы и требования к работе, вы не можете контролировать. Лучшие варианты включают SQLite, Sql Server Express, Sql Server Compact Edition, PostGr eSQL, MySql или даже nosql, такие как MongoDB. Или, может быть, это класс колледжа, и я действительно надеюсь, что классы колледжа еще не изучают базы данных Microsoft Access в классах C#. –
Этот код является безумным, уязвимым для SQL-инъекции. Это практически попрошайничество, чтобы его взломали. –
Это только для проекта колледжа, но я ценю совет – Reggie