我创建了一个访问文件,其中包含一个名为“login”的表。列是用户名和密码。
现在我想用他们的用户名和密码将新成员添加到表中。信息将从textbox1和textbox2获取。
我该怎么做?
顺便问一下,连接字符串是什么?它来自数据库属性吗? 我得到的是“@Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\qianren\Desktop\iplan version\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\log.accdb”。这是对的吗? connectionstring的写法对吗?
最佳答案
首先,您需要在 Visual Studio 的“添加引用”对话框中的 .Net 选项卡下添加对 Microsoft.Office.Interop.Access 的引用。
然后创建两个变量,一个用于您的 textbox1 文本,另一个用于您的 textbox2 文本,如下所示:
var foo = textbox1.Text;
var bar = textbox2.Text;
然后将 using Microsoft.Office.Interop.Access;
添加到您的 using 语句中。
然后您需要创建 Application 类的新实例,因此将以下内容添加到您的方法中:
var ap = new Microsoft.Office.Interop.Access.Application();
然后像这样打开你的数据库:
ap.OpenCurrentDatabase(@"C:\Users\qianren\Desktop\iplan version\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\log.accdb");
然后像这样运行一个插入查询:
ap.DoCmd.RunSQL(String.Format("INSERT INTO login ( Username, [Password] ) SELECT "{0}" AS LG, "{1}" AS PW;", foo, bar));
如果您不确定语法,您可以使用 Microsoft Access 查询设计器设计此查询,单击屏幕右下角的 SQL 按钮并复制 SQL。
然后像这样关闭你的数据库:
ap.CloseCurrentDatabase();
最后,像这样清理非托管对象:
Marshal.ReleaseComObject(ap); //Sorry this is nearly a year late, just noticed it!
关于c# - 如何使用 C# 将数据插入 MS access 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861913/