Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的access数据库未更新(ASP.NET)_C#_Asp.net_Database_Visual Studio_Ms Access - Fatal编程技术网

C# 我的access数据库未更新(ASP.NET)

C# 我的access数据库未更新(ASP.NET),c#,asp.net,database,visual-studio,ms-access,C#,Asp.net,Database,Visual Studio,Ms Access,我想我无法连接到我的数据库,因为它没有在应该更新的时候更新。我不知道这是为什么。 这是我的.aspx.cs文件: public partial class addClass : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } private static OleDbConnection GetConnection() { Stri

我想我无法连接到我的数据库,因为它没有在应该更新的时候更新。我不知道这是为什么。 这是我的.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”语句中会显示错误消息。我说得对吗?如果是,我该如何更改代码以使其工作

谢谢你的帮助


谢谢

您的连接字符串无效。您将其设置为字符串“connectionstring”,并且它应该是一个完整格式的正确连接字符串:例如

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False;"
您的代码: String myQuery=“插入瑜伽课堂。。。
“瑜伽课”的名称“不应该有空格。

这是一个示例连接字符串。在我的真实文件中,我找到了正确的文件路径。可能是UAC。这是一个access数据库文件,如果它需要提升权限,则执行此操作的进程需要以管理员身份运行才能打开它。授予运行应用程序的进程/用户对文件的访问权限。以管理员身份运行VisualStudio,然后打开您的项目,看看它是否可以测试该理论。感谢您的建议,但它不起作用。这很令人沮丧。介意我问一下为什么要使用Microsoft Access吗?我已经十年没有看到有人在应用程序上使用access数据库存储数据了,这通常被认为不是一个好主意。除非是为了工作和你无法控制的工作要求。更好的选择包括SQLite、SQLServerExpress、SQLServerCompactEdition、PostGreSQL、MySql,甚至是nosql之类的MongoDB。或者可能是为了一个大学课堂,我真的希望大学课堂上没有继续在C#类中教授Microsoft Access数据库。这段代码非常容易受到sql注入的攻击。这只是为了一个大学项目,但我很感激你的建议,但这并没有解决问题