Jag har anslutit en accessdatabas till min asp.net 2 sida (enklast möjliga), men när jag skapar en ny post så hoppar den över första fältet och lägger den datan i fält 2. Jag använder formview. Du har Cool, funkar fint!Data hamnar i fel fält
Databindings ser ok ut.
Här kan ni se och testa eländet:
http://larling.somee.com/default.aspx
Det är så enkelt exempel så jag kan inte förstå vad som kan gått fel. Insertcommand är ändrat enligt tidigare inlägg för att funka alls (bugg i VWD)
Jag har gjort flera exempel med samma resultat.
Är det någon som varit med om det eller hittar något galet?
Koden för sidan följer här:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" ConflictDetection="CompareAllValues"
DataFile="~/db3.mdb" DeleteCommand="DELETE FROM [Tabell1] WHERE [id] = ? AND [text] = ? AND [text2] = ?"
InsertCommand="INSERT INTO [Tabell1] ([text], [text2]) VALUES (?, ?)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Tabell1]"
UpdateCommand="UPDATE [Tabell1] SET [text] = ?, [text2] = ? WHERE [id] = ? AND [text] = ? AND [text2] = ?">
<DeleteParameters>
<asp:Parameter Name="original_id" Type="Int32" />
<asp:Parameter Name="original_text" Type="String" />
<asp:Parameter Name="original_text2" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="text" Type="String" />
<asp:Parameter Name="text2" Type="String" />
<asp:Parameter Name="original_id" Type="Int32" />
<asp:Parameter Name="original_text" Type="String" />
<asp:Parameter Name="original_text2" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="id" Type="Int32" />
<asp:Parameter Name="text" Type="String" />
<asp:Parameter Name="text2" Type="String" />
</InsertParameters>
</asp:AccessDataSource>
</div>
<asp:FormView ID="FormView1" runat="server" AllowPaging="True" CellPadding="4" DataKeyNames="id"
DataSourceID="AccessDataSource1" ForeColor="#333333" Style="z-index: 24; left: 343px;
position: absolute; top: 137px" Width="310px">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<EditItemTemplate>
id:
<asp:Label ID="idLabel1" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
text:
<asp:TextBox ID="textTextBox" runat="server" Text='<%# Bind("text") %>'>
</asp:TextBox><br />
text2:
<asp:TextBox ID="text2TextBox" runat="server" Text='<%# Bind("text2") %>'>
</asp:TextBox><br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
Text="Update">
</asp:LinkButton>
<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Cancel">
</asp:LinkButton>
</EditItemTemplate>
<RowStyle BackColor="#EFF3FB" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<InsertItemTemplate>
text:
<asp:TextBox ID="textTextBox" runat="server" Text='<%# Bind("text") %>'>
</asp:TextBox><br />
text2:
<asp:TextBox ID="text2TextBox" runat="server" Text='<%# Bind("text2") %>'>
</asp:TextBox>
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
Text="Insert">
</asp:LinkButton>
<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Cancel">
</asp:LinkButton> <br />
</InsertItemTemplate>
<ItemTemplate>
id:
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
text:
<asp:Label ID="textLabel" runat="server" Text='<%# Bind("text") %>'></asp:Label><br />
text2:
<asp:Label ID="text2Label" runat="server" Text='<%# Bind("text2") %>'></asp:Label><br />
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
Text="Edit">
</asp:LinkButton>
<asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete"
Text="Delete">
</asp:LinkButton>
<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
Text="New">
</asp:LinkButton>
</ItemTemplate>
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
</asp:FormView>
</form>
</body>
</html>
/christerSv: Data hamnar i fel fält
InsertCommand="INSERT INTO [Tabell1] ([text], [text2]) VALUES (?, ?)"
samt
<InsertParameters>
<asp:Parameter Name="id" Type="Int32" />
<asp:Parameter Name="text" Type="String" />
<asp:Parameter Name="text2" Type="String" />
</InsertParameters>
Mao så kommer FormView skicka med id som första parameter (skall egentligen vara text) och dessutom är id tom eftersom den inte är initierad (det är ju en ny post) och text kommer att skickas in som text2, vilket stämmer med betendet som du har just nu.
Ändra InsertParameters till
<InsertParameters>
<asp:Parameter Name="text" Type="String" />
<asp:Parameter Name="text2" Type="String" />
</InsertParameters>
så borde det gå bättre.Sv:Data hamnar i fel fält
Men varför har inte Microsoft fixat dom buggarna. All kod är ju gjord automatiskt av vwd2005 express... Ok, det kan väl inte ni svara på.
Installationsfilen är nedladdad från asp.net för ca 2 veckor sedan.
Finns det någon finurlig uppdatering som jag inte hittat när jag letat?