在C#中使用microsoft访问和OleDb在数据库中添加数据

我是OleDb库的新手,我想用这个库将文本表单文本框添加到数据库中。 我的代码:

public partial class Form1 : Form { public Form1() { InitializeComponent(); } private OleDbConnection conn = new OleDbConnection(); private void button1_Click(object sender, EventArgs e) { conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Project\Learning\Visual C#\Form\WindowsFormsApplication1\WindowsFormsApplication1\Test.mdb"; string NAME = textBox1.Text; conn.Open(); OleDbCommand cmmd = new OleDbCommand("INSERT into student(NAME)" + "VALUES(@NAME)", conn); if (conn.State == ConnectionState.Open) { cmmd.Parameters.Add("@NAME", OleDbType.Char, 20); cmmd.Parameters["@NAME"].Value = NAME; try { cmmd.ExecuteNonQuery(); MessageBox.Show("DATA ADDED"); conn.Close(); } catch (OleDbException expe) { MessageBox.Show(expe.Source); } } else { MessageBox.Show("CON FAILED"); } } } 

但它不起作用。 我在C#中找不到OleDbCommand的好参考。
如何在我的代码中使用OleDbCommand

解决了

 public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Project\Learning\Visual C#\Form\WindowsFormsApplication2\WindowsFormsApplication2\Test.mdb"; conn.Open(); string Name = textBox1.Text; OleDbCommand cmmd = new OleDbCommand("INSERT INTO table1 (student) Values(@Name)", conn); if (conn.State == ConnectionState.Open) { cmmd.Parameters.Add("@Name", OleDbType.VarWChar, 20).Value = Name; try { cmmd.ExecuteNonQuery(); MessageBox.Show("DATA ADDED"); conn.Close(); } catch (OleDbException expe) { MessageBox.Show(expe.Message); conn.Close(); } } else { MessageBox.Show("CON FAILED"); } } 

可能这段代码可以帮到你

  OleDbConnection dbConnection = new OleDbConnection(CONNECTION_STRING); string commandString = "INSERT INTO MeetingEntries (Subject, Location, Start Date, End Date, Enable Alarm, Repeat Alarm, Reminder, Repetition Type)" + " VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; OleDbCommand commandStatement = new OleDbCommand(commandString, dbConnection); commandStatement.Parameters.Add("@Subject", OleDbType.VarWChar, 30).Value = currentEntry.Subject; commandStatement.Parameters.Add("@Location", OleDbType.VarWChar, 50).Value = currentEntry.Location; commandStatement.Parameters.Add("@Start Date", OleDbType.Date, 40).Value = currentEntry.StartDateTime.Date; commandStatement.Parameters.Add("@End Date", OleDbType.Date, 40).Value = currentEntry.EndDateTime.Date; commandStatement.Parameters.Add("@Enable Alarm", OleDbType.Boolean, 1).Value = currentEntry.IsAlarmEnabled; commandStatement.Parameters.Add("@Repeat Alarm", OleDbType.Boolean, 1).Value = currentEntry.IsAlarmRepeated; commandStatement.Parameters.Add("@Reminder", OleDbType.Integer, 2).Value = currentEntry.Reminder; commandStatement.Parameters.Add("@Repetition Type", OleDbType.VarWChar, 10).Value = currentEntry.Repetition; dbConnection.Open(); commandStatement.ExecuteNonQuery();