如何使用C#

时间:2018-05-17 03:44:28

标签: c# database visual-studio oledb ms-access-2003

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

  

请不要提及参数化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种不同的方式尝试了它,但没有一种方法有效。

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

  • 未知参数
  • 目录缺失
  • “插入到”
  • 中的语法错误

1 个答案:

答案 0 :(得分:1)

你的代码大部分都没问题(你错过了);在console.writeline的末尾)。但是,您的连接字符串是错误的。将其更改为...

class Foo<T> where T: SomeBaseType
{
    //.... lots of regular methods taking T, outputting T, etc.

    //in pseudo code
    void SpecialMethod() visible if T: SpecificDerivedType
    {
        //...code...
    }
}

确保您的数据库存在于该位置。否则这很好用。

您可能需要考虑使用Microsoft.ACE.OLEDB.12.0而不是Microsoft.Jet.OLEDB.4.0是较旧的驱动程序。