我想我連接到我的數據庫時遇到問題,因爲它不會在應該更新時更新。我不確定這是爲什麼。 這是我的.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精簡版,PostGr eSQL,MySql,甚至像MongoDB一樣的nosql。或者也許是爲了大學課程,我真的希望大學班級還沒有在C#課程中教授Microsoft Access數據庫。 –
這段代碼很瘋狂 - 容易被sql注入。它實際上是乞求被黑客攻擊。 –
這隻適用於大學項目,但我很欣賞建議 – Reggie