【发布时间】:2015-12-15 03:45:55
【问题描述】:
我认为我无法连接到我的数据库,因为它没有在应该更新的时候更新。我不确定这是为什么。 这是我的 .aspx.cs 文件:
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();
}
}
}
}
我认为它没有更新的原因是因为表'Yoga Class'中的列teacherID是另一个表的外键。当我单击提交按钮时,会显示“catch”语句中的错误消息。我对么?如果是,我该如何更改我的代码以使其正常工作?
任何帮助表示赞赏
谢谢
【问题讨论】:
-
介意我问你为什么使用 Microsoft Access?十年来我还没有看到有人使用访问数据库在应用程序上存储数据,这通常被认为不是一个好主意。除非是为了工作和你无法控制的工作要求。更好的选择包括 SQLite、Sql Server Express、Sql Server Compact Edition、PostGreSQL、MySql,甚至像 MongoDB 这样的 nosql 东西。或者可能是针对大学课程的,我真的希望大学课程不会仍然在 C# 课程中教授 Microsoft Access 数据库。
-
这段代码很容易被sql注入。它实际上是在乞求被黑。
-
这仅适用于大学项目,但我感谢您的建议
标签: c# asp.net database visual-studio ms-access