0

我正在尝试写入 Access 数据库。OLE DB 连接存储在主窗体 (mainFrm) 上。我在应用程序的其他部分使用相同的连接进行读写。出于某种原因,在这个地方它说我有语法错误。我尝试过以不同的方式编写它,但仍然收到相同的错误消息

public OleDbConnection newCon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\MorganWillis\Documents\PlannerAppData\MainDB.accdb");`

ListViewItem newnote = new ListViewItem(nameTextBox.Text);
newnote.SubItems.Add(DateTime.Today.ToShortDateString());
newnote.SubItems.Add(noteTextBox.Text)`

mainFrm.notesList.Items.Add(newnote);

string tempname = nameTextBox.Text;
DateTime now = DateTime.Today;
string tempnote = noteTextBox.Text;

if(mainFrm.newCon.State == ConnectionState.Closed)
    mainFrm.newCon.Open();

OleDbCommand noteCom = new OleDbCommand("INSERT INTO Notes (noteName, noteDate, note)" + "VALUES (?,?,?)", mainFrm.newCon);

noteCom.Parameters.Add("noteName", OleDbType.Char, 50, "noteName").Value = tempname;
noteCom.Parameters.Add("noteDate", OleDbType.DBDate, 8, "noteDate").Value = now.ToShortDateString();
noteCom.Parameters.Add("note", OleDbType.Char, 1000, "note").Value = tempnote;

OleDbDataAdapter noteadapt = new OleDbDataAdapter();
noteadapt.InsertCommand = noteCom;
noteadapt.InsertCommand.ExecuteNonQuery();

mainFrm.newCon.Close();

Close();
4

2 回答 2

3

您在查询过程中有错误+
它必须被消除。

于 2013-10-28T17:18:45.200 回答
0

Notes 是 access 中的一个关键字,因此它不允许我将其用作表名,但是当我更改表名时,它工作得很好,比大家的帮助!

于 2013-11-05T17:47:04.053 回答