我创建了一个带有名为“login”的表的访问文件。列是用户名和密码。
现在我想用他们的用户名和密码向表中添加新成员。该信息将从textbox1和textbox2获得。
我该怎么做?
顺便问一下,什么是连接字符串?它来自数据库属性吗? 我得到的是“@ Provider = Microsoft.ACE.OLEDB.12.0;数据源= C:\ Users \ qianren \ Desktop \ iplan version \ WindowsFormsApplication2 \ WindowsFormsApplication2 \ bin \ Debug \ log.accdb”。这是对的吗?这是编写连接字符串的正确方法吗?
答案 0 :(得分:3)
首先,您需要在Visual Studio的“添加引用”对话框中的.Net选项卡下添加对Microsoft.Office.Interop.Access的引用。
然后创建两个变量,一个用于textbox1文本,另一个用于textbox2文本,如下所示:
var foo = textbox1.Text;
var bar = textbox2.Text;
然后将using Microsoft.Office.Interop.Access;
添加到您的使用语句中。
然后,您需要创建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!