我正在使用带有一个名为 Contact 的表的 Access 数据库。该表包含以下字段 ContactID、FirstName、LastName、SpouseName、Phone、Email、WeddingDate、StreetAddress、Suburb、City、PostCode、Country 和 Comments。ContactID 是自动编号,PK 和WeddingDate 是日期/时间。其余的都是文本字段。
我有一个简单的表单,上面有 4 个文本框,分别用于名字、姓氏、电话和电子邮件,并带有保存按钮。这是我的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace project1
{
public partial class DataSource : Form
{
OleDbConnection connection=new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Wills\Projects\Windows\project1\project1\project1.accdb");
public DataSource()
{
InitializeComponent();
}
private void DataSource_Load(object sender, EventArgs e)
{
connection.Open();
}
private void btnSave_Click(object sender, EventArgs e)
{
string vsql = string.Format("INSERT INTO Contact values(@FirstName, @LastName, @Phone, @Email)", txtFirstName.Text, txtLastName.Text, txtPhone.Text, txtEmail.Text);
OleDbCommand vcom = new OleDbCommand(vsql, connection);
vcom.ExecuteNonQuery();
MessageBox.Show("Data store successfully");
vcom.Dispose();
}
private void btnExit_Click(object sender, EventArgs e)
{
connection.Close();
this.Close();
}
}
}
我在行 vcom.ExecuteNonQuery(); 上收到错误。说“未处理 OleDbException 没有为一个或多个必需参数提供值。”
我试图更改插入语句,但没有运气并且查看论坛上的其他示例,我无法获得任何更改以与我的解决方案一起使用。任何想法或帮助将不胜感激。