Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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# 如何使用C正确写入Access(2002-2003)数据库#_C#_Database_Visual Studio_Oledb_Ms Access 2003 - Fatal编程技术网

C# 如何使用C正确写入Access(2002-2003)数据库#

C# 如何使用C正确写入Access(2002-2003)数据库#,c#,database,visual-studio,oledb,ms-access-2003,C#,Database,Visual Studio,Oledb,Ms Access 2003,我无法使用C#将新条目写入本地Access 2002-2003(.mdb)数据库,问题在于OleDbCommand类中我的cmdText属性的语法 请不要提及参数化SQL语句或SQL注入,因为这仅用于个人测试 无论如何,下面是我尝试使用的命令文本: string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\User

我无法使用C#将新条目写入本地Access 2002-2003(.mdb)数据库,问题在于OleDbCommand类中我的cmdText属性的语法

请不要提及参数化SQL语句或SQL注入,因为这仅用于个人测试

无论如何,下面是我尝试使用的命令文本:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Daniel\source\repos\DatabaseInteraction2\DatabaseInteraction2\SimpleDatabase.mdb";

        OleDbCommand command;

        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open();
            command = new OleDbCommand("Insert Into SimpleTable (userName,userPassword) Values " +
            "('TestUsername','TestPassword')", connection);

            try
            {
                command.ExecuteNonQuery();
            }
            catch(Exception error)
            {
                Console.WriteLine(error.Message
            }
        }
在Access数据集中执行插入的正确方法是什么?我应该使用什么语法?现在,我尝试了6种不同的方法,但没有一种有效

我得到的例外情况与以下情况有些相似:

  • 未知参数
  • 目录丢失
  • “插入到”中的语法错误
您的代码基本正常(您丢失了代码);在控制台的末尾。writeline)。但是,您的连接字符串是错误的。把它改成

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Daniel\source\repos\DatabaseInteraction2\DatabaseInteraction2\SimpleDatabase.mdb";
确保您的数据库存在于该位置。否则这就行了


你可能想考虑使用微软.ACCE.OLDEB 12,而不是微软.JET.OLDEB。4是一个旧的驱动程序。

@ MJWIVEL,如果错误的方式不能阻止SQL注入,那么我不介意(现在),我需要一个简单的,使用Microsoft的OleDb将数据插入数据集的最新示例您尝试过吗?在您发布的代码中,为什么要创建两个
OleDbCommand
对象?为什么要声明一个变量,创建一个新对象,将其分配给变量,然后完全忽略这两者?如果您想学习如何使用数据库,那么就研究一下如何使用数据库。如果您需要特定问题的帮助,请提供有关该特定问题的信息。我们不关心由我们看不见的代码产生的错误消息的模糊近似值。您发布的代码产生的实际错误消息是什么?它发生在哪里?@mjwills Plus,我的完整代码是葡萄牙语的,这对您来说很难,最常见的例外是0x80040E14“我需要一个简单、最新的示例,使用Microsoft的OleDb将数据插入数据集”。关于网络上已有的许许多多的例子,你到底不了解什么?