我正在尝试写入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();
答案 0 :(得分:3)
您的查询中间有一个错误的+
它必须被淘汰。
答案 1 :(得分:0)
Notes是访问中的一个关键词,所以它不允许我将它用于表名,但是当我更改表名时,它比你们所有人都帮忙工作得好!