私は、Visual Studio 2010を使用して、アクセス・データベースからデータを編集、削除、または挿入できるフォームを作成しています。 Webブラウザでフォームを実行しようとすると、「クエリ入力に少なくとも1つのテーブルまたはクエリが含まれている必要があります」というエラーが表示されます。私は問題が私のコード/構文にあると信じていますが、私は問題の原因を特定することができません。私は以下に私のコードのいくつかを追加し、どんな助けやヒントも大歓迎です。ありがとうございました。エラーの取得「クエリ入力には少なくとも1つのテーブルまたはクエリが含まれている必要があります。
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/database.accdb" SelectCommand="SELECT * FROM [database]"
DeleteCommand="DELETE FROM [database] WHERE ([EmployeeID] = @EmployeeID)"
UpdateCommand="UPDATE [database] SET [Phone][email protected],[FirstName] = @FirstName, [LastName]= @LastName WHERE ([EmployeeID] = @EmployeeID)"
InsertCommand="INSERT INTO [database] (Phone,FirstName,LastName) VALUES (@Phone,@FirstName,@LastName) WHERE ([EmployeeID] = @EmployeeID)">
<InsertParameters>
<asp:formparameter name="Phone" formfield="tbPhone" />
<asp:formparameter name="FirstName" formfield="tbFirstName" />
<asp:formparameter name="LastName" formfield="tbLastName" />
</InsertParameters>
</asp:AccessDataSource>
<asp:GridView ID="gvEmployee" runat="server" AutoGenerateColumns="False"
DataSourceID="AccessDataSource1" DataKeyNames="EmployeeID"
AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" AutoGenerateInsertButton="True"
EmptyDataText="There are no data records to display." Width="372px">
<Columns>
<asp:BoundField DataField="Phone" HeaderText="Phone"
SortExpression="Phone" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td>
Phone Number:
<asp:TextBox ID="tbPhone" runat="server"></asp:TextBox><br />
First Name:
<asp:TextBox ID="tbFirstName" runat="server"></asp:TextBox> <br />
Last Name:
<asp:TextBox ID="tbLastName" runat="server"></asp:TextBox> <br />
<asp:button id="Button1" runat="server" text="New Employee" onclick="InsertEmployee" />
</td>
</tr>
オフwhere句を取ってみてください。 – chan
問題が発生している可能性があります。データベースは通常予約語です。そのテーブルのレコードを別のテーブルにコピーし、新しいテーブル名を参照するようにコードを変更できますか?それがうまくいくと、ドライバーはおそらく予約語の上でトリップしているでしょう。 – Sparky
私はあなたの提案したEmployeesという名前の新しいテーブルを持っていますが、私はまだエラーを受け取ります。 – chan