05. september 2006 - 15:16
Der er
15 kommentarer og 1 løsning
Update statment fejl i .NET
Hej, jeg er ved at lave mig en lille webshop. Jeg har problemer med at lave updates til min Access DB. Jeg bruger "Visual web developer 2005 express edition" da jeg er ny i .NET og mener der er gode toturials her i. Jeg har lavet en Access_datasource som henter alt i en tabel, som jeg herefter får vist i et Gridview, heri kan jeg vælge at opdater en række, når jeg så ændrer et af felterne og trykker update får jeg flg. svar fra serveren. Detaljer om undtagelse: System.Data.OleDb.OleDbException: "Der er en syntaksfejl i UPDATE-sætningen." Min update kode ser sådan her ud. <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <TABLE border=0 cellpadding=0 cellspacing=0 style="width: 100%; height: 100%"> <TR> <TD style="width: 1068px; height: 49px; text-align: right" valign=top> <SPAN style="font-size: 10pt; font-family: Verdana"> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/webshop.mdb" SelectCommand="SELECT * FROM [alder]" UpdateCommand="UPDATE alder SET alderId =, [Alder_i_år] ="> <UpdateParameters> <asp:ControlParameter ControlID="GridView1" Name="alderID" PropertyName="SelectedValue" /> <asp:ControlParameter ControlID="GridView1" Name="AlderIÅr" PropertyName="SelectedValue" /> </UpdateParameters> </asp:AccessDataSource> </SPAN><SPAN style="font-size: 10pt; font-family: Verdana"> </SPAN> </TD> </TR> Håber i kan hjælpe mig.
Annonceindlæg fra Computerworld
Gefion skaber fremtidens AI
Supercomputeren Gefion er Danmarks nye AI-kraftværk og skal sikre, at både forskning og virksomheder kan være med i den teknologiske front.
14. august 2025
05. september 2006 - 16:06
#1
prøv med: UpdateCommand="UPDATE alder SET alderId =?, [Alder_i_år] =?"> kan være du skal skrive : <asp:ControlParameter ControlID="GridView1" Name="Alder_i_år"
05. september 2006 - 16:06
#2
du har: "UPDATE alder SET alderId =,[Alder_i_år]=" burde det ikke være: "UPDATE alder SET alderId =[Alder_i_år]" eller "UPDATE alder SET alderId ='[Alder_i_år]'"
05. september 2006 - 16:13
#3
mikkel han har 2 felter med værduer som skal indsættes. Derfor du ingen af dine sql foreslag
05. september 2006 - 16:15
#4
zulukrigeren noget helt andet er at den update sætning vil opdaterer alle poster i tabellen alder du mangler en where klausul.
05. september 2006 - 20:06
#5
Ja det er rigtigt jeg har to felter en alderId og Alder_i_år felt. Ja jeg burde have en WHERE Course i sql sætningen. Men Jeg troede egentligt at programmet Visual web developer 2005 express edition" AKA VWD2006 som jeg arbejder i selv satte WHERE Courses da den jo selecter den specifikke rækkke som jeg har valgt til opdatering.
05. september 2006 - 20:12
#6
Jeg har desuden prøvet det du skrev dr_Chaos med de ? tegn. men får den samme fejl. Jeg poster lige hele koden her: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Title="Vare Test page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <TABLE border=0 cellpadding=0 cellspacing=0 style="width: 100%; height: 100%"> <TR> <TD style="width: 1068px; height: 49px; text-align: right" valign=top> <SPAN style="font-size: 10pt; font-family: Verdana"> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/webshop.mdb" SelectCommand="SELECT * FROM [alder]" UpdateCommand="UPDATE alder SET Alder_i_år] =?"> <UpdateParameters> <asp:ProfileParameter Name="?" PropertyName="Alder_i_år" /> </UpdateParameters> </asp:AccessDataSource> </SPAN><SPAN style="font-size: 10pt; font-family: Verdana"> </SPAN> </TD> </TR> <TR> <TD style="width: 1068px; height: 349px" valign=top> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="alderId" DataSourceID="AccessDataSource1" ForeColor="#333333" GridLines="None"> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <Columns> <asp:BoundField DataField="alderId" HeaderText="alderId" InsertVisible="False" ReadOnly="True" SortExpression="alderId" /> <asp:BoundField DataField="Alder_i_år" HeaderText="Alder_i_år" SortExpression="Alder_i_år" /> <asp:CommandField ShowSelectButton="True" /> <asp:CommandField ShowEditButton="True" /> </Columns> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EditRowStyle BackColor="#999999" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> </TD> </TR> </TABLE> </asp:Content>
06. september 2006 - 08:12
#7
får du noget ud i feltet : <asp:BoundField DataField="Alder_i_år" HeaderText="Alder_i_år" SortExpression="Alder_i_år" /> Jeg vil også lige anbefale dig at lade være med at bruge æøå i dine database felter brug ae,oe og aa i stedet.
06. september 2006 - 11:52
#8
Ja jeg får noget i feltet, desuden har du ret i det med æøå, dette er blot et eks. jeg har prøvet uden æåø.
06. september 2006 - 11:58
#9
Kan det forresten passe at jeg skal poste med parameter ala: string queryString = "UPDATE [alder] SET [alderId]=@alderId, [Alder_i_år=@Alder_i_år WHERE ([alder].[a" + "lderId] = @alderId)";
06. september 2006 - 12:16
#10
nej det skal du ikke med access. Omdøb lige dine felter så de er uden æøå og paste en ny kode hvor du kan få værdier vist
06. september 2006 - 15:03
#11
Hermed den nye kode uden æøå: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Title="Vare Test page" %> <SCRIPT runat=server> protected void AccessDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) { } </SCRIPT> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <TABLE border=0 cellpadding=0 cellspacing=0 style="width: 100%; height: 100%"> <TR> <TD style="width: 1068px; height: 49px; text-align: right" valign=top> <SPAN style="font-size: 10pt; font-family: Verdana"> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/webshop.mdb" SelectCommand="SELECT * FROM [Kategorier]" OnSelecting=AccessDataSource1_Selecting UpdateCommand="UPDATE Kategorier SET KategoriId =, Kategorinavn ="> <UpdateParameters> <asp:Parameter Name="newparameter" /> </UpdateParameters> </asp:AccessDataSource> </SPAN><SPAN style="font-size: 10pt; font-family: Verdana"> </SPAN> </TD> </TR> <TR> <TD style="width: 1068px; height: 349px" valign=top> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="KategoriId" DataSourceID="AccessDataSource1" ForeColor="#333333" GridLines="None" AutoGenerateDeleteButton=True AutoGenerateEditButton=True AutoGenerateSelectButton=True> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <Columns> <asp:BoundField DataField="KategoriId" HeaderText="KategoriId" InsertVisible="False" ReadOnly="True" SortExpression="KategoriId" /> <asp:BoundField DataField="Kategorinavn" HeaderText="Kategorinavn" SortExpression="Kategorinavn" /> <asp:CommandField /> <asp:CommandField ShowSelectButton="True" /> </Columns> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EditRowStyle BackColor="#999999" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> </TD> </TR> </TABLE> </asp:Content>
06. september 2006 - 16:55
#12
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Title="Vare Test page" %> <SCRIPT runat=server> protected void AccessDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) { } </SCRIPT> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <TABLE border=0 cellpadding=0 cellspacing=0 style="width: 100%; height: 100%"> <TR> <TD style="width: 1068px; height: 49px; text-align: right" valign=top> <SPAN style="font-size: 10pt; font-family: Verdana"> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/webshop.mdb" SelectCommand="SELECT * FROM [Kategorier]" OnSelecting=AccessDataSource1_Selecting UpdateCommand="UPDATE Kategorier SET Kategorinavn =? WHERE KategoriId =? "> </asp:AccessDataSource> </SPAN><SPAN style="font-size: 10pt; font-family: Verdana"> </SPAN> </TD> </TR> <TR> <TD style="width: 1068px; height: 349px" valign=top> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="KategoriId" DataSourceID="AccessDataSource1" ForeColor="#333333" GridLines="None" AutoGenerateDeleteButton=True AutoGenerateEditButton=True AutoGenerateSelectButton=True> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <Columns> <asp:BoundField DataField="KategoriId" HeaderText="KategoriId" InsertVisible="False" ReadOnly="True" SortExpression="KategoriId" /> <asp:BoundField DataField="Kategorinavn" HeaderText="Kategorinavn" SortExpression="Kategorinavn" /> <asp:CommandField /> <asp:CommandField ShowSelectButton="True" /> </Columns> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EditRowStyle BackColor="#999999" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> </TD> </TR> </TABLE> </asp:Content>
06. september 2006 - 17:48
#13
HEEEEEYYY Dr.Chaos... Det virker nu med den kode.... PERFEKT! satte du bare ? efter = og så var det det? Smid et svar og du får dine point!
06. september 2006 - 17:59
#14
og fjernede update parametrene. når du har et bound field skal du ikke tilføje updateparametre. og ændrede dit update sætning lidt med en where svar :)
06. september 2006 - 18:31
#15
Takker for hjælpen! :o)
06. september 2006 - 18:41
#16
np :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.