我无法使用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种不同的方式尝试了它,但没有一种方法有效。
我得到的例外情况与以下内容有些相似:
答案 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是较旧的驱动程序。