2013-06-11 98 views
0

我認爲這應該是一個簡單的修復,但兩天後,我似乎無法找到解決方案。我有一個簡單的ASP.NET VS Express 2012 for Web,我試圖在插入模式下使用FormView在Access表中插入一條記錄。System.Data.OleDb.OleDbException:INSERT INTO語句中的語法錯誤在Access中插入

這裏是我的代碼:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="insert.aspx.cs" Inherits="mapbook_admin_insert" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/mapbook/admin/mapbook.mdb" 
InsertCommand="INSERT INTO tblMaps 
    (txtFileName, txtMapName, txtCity, txtAddress, txtMapPage, txtGrid, txtZip, txtGateCode 
    VALUES (?,?,?,?,?,?,?,?)"> 
</asp:AccessDataSource> 
<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource1" DefaultMode="Insert" Width="452px"> 
<InsertItemTemplate> 
    PDF File Name: 
    <asp:TextBox ID="txtFileNameTextBox" runat="server" Text='<%# Bind("txtFileName") %>' /> 
    <br /> 
    Map Name: 
    <asp:TextBox ID="txtMapNameTextBox" runat="server" Text='<%# Bind("txtMapName") %>' /> 
    <br /> 
    City: 
    <asp:TextBox ID="txtCityTextBox" runat="server" Text='<%# Bind("txtCity") %>' /> 
    <br /> 
    Address: 
    <asp:TextBox ID="txtAddressTextBox" runat="server" Text='<%# Bind("txtAddress") %>' /> 
    <br /> 
    Map Page: 
    <asp:TextBox ID="txtMapPageTextBox" runat="server" Text='<%# Bind("txtMapPage") %>' /> 
    <br /> 
    Grid: 
    <asp:TextBox ID="txtGridTextBox" runat="server" Text='<%# Bind("txtGrid") %>' /> 
    <br /> 
    Zip: 
    <asp:TextBox ID="txtZipTextBox" runat="server" Text='<%# Bind("txtZip") %>' /> 
    <br /> 
    Gate Code: 
    <asp:TextBox ID="txtGateCodeTextBox" runat="server" Text='<%# Bind("txtGateCode") %>' /> 
    <br /> 
    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" /> 
    &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> 
</InsertItemTemplate> 
</asp:FormView> 
</asp:Content> 

我得到的錯誤是 「System.Data.OleDb.OleDbException:在INSERT INTO語句的語法錯誤」我正在插入Access數據庫。

謝謝大家的進步。

+0

您在列名列表末尾缺少一個右括號:'...,txtGateCode VALUES(...' - 這只是您的問題中的拼寫錯誤嗎? –

+0

Oh geez(facepalm)。你,這解決了我的問題! – JimP

回答

0

感謝Richard Deeming,他發現我在INSERT命令中缺少')'。它正在工作。

相關問題