【发布时间】:2018-05-17 03:44:27
【问题描述】:
我无法使用 C# 将新条目写入本地 Access 2002-2003 (.mdb) 数据库,问题是 OleDbCommand 中我的 cmdText 属性的语法 em> 类。
请不要提及参数化 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 种不同的方法,但都没有奏效。
我得到的异常与以下有些相似:
- 未知参数
- 目录丢失
- “插入”中的语法错误
【问题讨论】:
-
@mjwills 如果错误的方法不能阻止 SQL 注入,那么我不介意(目前),我需要一个简单的、最新的使用 Microsoft 的示例OleDb 将数据插入数据集
-
在您发布的代码中,您为什么要创建两个
OleDbCommand对象?为什么要声明一个变量,创建一个新对象,将它分配给变量,然后完全忽略两者?如果您想学习如何使用数据库,请对使用数据库进行一些研究。如果您需要有关特定问题的帮助,请提供有关该特定问题的信息。我们不关心我们看不到的代码产生的错误消息的模糊近似值。您发布的代码生成的实际错误消息是什么?它发生在哪里? -
@mjwills 另外,我的完整代码是葡萄牙语,对你来说很难,最常见的例外是 0x80040E14
-
“我需要一个使用 Microsoft 的 OleDb 将数据插入数据集的简单、最新示例”。对于网络上已有的众多示例,您到底有什么不明白的地方?
标签: c# database visual-studio oledb ms-access-2003