Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-22 02:03:15 - Christer Lundqvist, i forum asp.net generellt, Tråden har 5 Kommentarer och lästs av 915 personer

Jag håller på och lär mig ASP.NET 2.0 och har kört fast lite på databasdelen.
sql server verkar ju bra (bättre?), men få webhotell inkluderar det så därför kör jag Accessdatabas.

När jag har primärnyckeln som en textbox så har jag inga problem att lägga till en ny post i tabellen, men om jag väljer en räknare för primärnyckel så går det åt skogen och felsidan kommer

"Exception Details: System.Data.OleDb.OleDbException: Du försöker tilldela Null-värdet till en variabel som inte är av datatypen Variant."

Jag har provat göra flera olika databaser med samma resultat, detta är den enklaste. 1 tabell, 3 textrutor och en räknare. Tar jag bort räknaren och sätter primärnyckeln på en textruta så funkar det. Men det är fel metod. Det tog många timmar att hitta detta felet :(

Att hoppa mellan poster och ta bort poster funkar.
Jag använder formview för att titta på och ändra data. Jag har inget annat krimskrams på sidan som kan störa.

Jag har Access 2000, ASP.net grejorna är bara någon vecka gamla.


Är det någon som har något bra tips på vad som är galet?


Svara

Sv: Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-22 07:23:46 - Fredrik Edström

Du får nog visa lite kod här för att man skall förstå vad det är du gör.


Svara

Sv:Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-22 12:01:29 - Christer Lundqvist

Ok, inget är kodat manuellt, men jag bifogar det som kommit "automatiskt"...
Som sagt, allt (vad jag sett) funkar utom att lägga till ny post. Jag har gjort många olika provversioner och alla ha gjort likadant, detta är nog den enklaste.

Jag funderar lite på om det krävs någon uppdatering av access, men från 2000 ska det vara ok i teorin...
Jag har samma problem både lokalt när jag debuggar och på servern.


<%@ 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"
DataFile="C:\Documents and Settings\Administratör\Mina dokument\Visual Studio 2005\WebSites\WebSite9\db2.mdb"
DeleteCommand="DELETE FROM [Tabell1] WHERE [ID] = ? AND [textfalt] = ? AND [fält2] = ? AND [fält3] = ?" InsertCommand="INSERT INTO [Tabell1] ([textfalt], [fält2], [fält3], [ID]) VALUES (?, ?, ?, ?)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Tabell1]" CancelSelectOnNullParameter="False" ConflictDetection="CompareAllValues" UpdateCommand="UPDATE [Tabell1] SET [textfalt] = ?, [fält2] = ?, [fält3] = ? WHERE [ID] = ? AND [textfalt] = ? AND [fält2] = ? AND [fält3] = ?">
<DeleteParameters>
<asp:Parameter Name="original_ID" Type="Int32" />
<asp:Parameter Name="original_textfalt" Type="String" />
<asp:Parameter Name="original_f&#228;lt2" Type="String" />
<asp:Parameter Name="original_f&#228;lt3" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="textfalt" Type="String" />
<asp:Parameter Name="f&#228;lt2" Type="String" />
<asp:Parameter Name="f&#228;lt3" Type="String" />
<asp:Parameter Name="ID" Type="Int32" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="textfalt" Type="String" />
<asp:Parameter Name="f&#228;lt2" Type="String" />
<asp:Parameter Name="f&#228;lt3" Type="String" />
<asp:Parameter Name="original_ID" Type="Int32" />
<asp:Parameter Name="original_textfalt" Type="String" />
<asp:Parameter Name="original_f&#228;lt2" Type="String" />
<asp:Parameter Name="original_f&#228;lt3" Type="String" />
</UpdateParameters>
</asp:AccessDataSource>

</div>
<asp:FormView ID="FormView1" runat="server" AllowPaging="True" CellPadding="4" DataKeyNames="ID"
DataSourceID="AccessDataSource1" ForeColor="#333333" Height="149px" Style="z-index: 24;
left: 157px; position: absolute; top: 128px" Width="482px">
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<EditItemTemplate>
textfalt:
<asp:TextBox ID="textfaltTextBox" runat="server" Text='<%# Bind("textfalt") %>'>
</asp:TextBox><br />
fält2:
<asp:TextBox ID="fält2TextBox" runat="server" Text='<%# Bind("fält2") %>'>
</asp:TextBox><br />
fält3:
<asp:TextBox ID="fält3TextBox" runat="server" Text='<%# Bind("fält3") %>'>
</asp:TextBox><br />
ID:
<asp:Label ID="IDLabel1" runat="server" Text='<%# Eval("ID") %>'></asp:Label><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="#FFFBD6" ForeColor="#333333" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<InsertItemTemplate>
textfalt:
<asp:TextBox ID="textfaltTextBox" runat="server" Text='<%# Bind("textfalt") %>'>
</asp:TextBox><br />
fält2:
<asp:TextBox ID="fält2TextBox" runat="server" Text='<%# Bind("fält2") %>'>
</asp:TextBox><br />
fält3:
<asp:TextBox ID="fält3TextBox" runat="server" Text='<%# Bind("fält3") %>'>
</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>
</InsertItemTemplate>
<ItemTemplate>
textfalt:
<asp:Label ID="textfaltLabel" runat="server" Text='<%# Bind("textfalt") %>'></asp:Label><br />
fält2:
<asp:Label ID="fält2Label" runat="server" Text='<%# Bind("fält2") %>'></asp:Label><br />
fält3:
<asp:Label ID="fält3Label" runat="server" Text='<%# Bind("fält3") %>'></asp:Label><br />
ID:
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>'></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="#990000" Font-Bold="True" ForeColor="White" />
</asp:FormView>
</form>
</body>
</html>


Svara

Sv: Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-22 23:13:30 - Magnus Bergström

Nu har jag inte kollat igenom koden alls, men jag undrar om jag förstått problemet korrekt:

Du har en tabell med 4 fält.
När du kör fälten normalt kan du lägga till nya rader med följande sql-sats:

INSERT INTO [Tabell1] ([textfalt], [fält2], [fält3], [ID]) VALUES (?, ?, ?, ?)

Du ändrar tabellen till att ha ett autoincrement nummer som id och då funkar inte dina inserts.

Har du kollat så du tar bort det fältet från insert-satsen? Har du autonummer på ID-kolumnen ska din sql-sats se ut så här:
INSERT INTO [Tabell1] ([textfalt], [fält2], [fält3]) VALUES (?, ?, ?)

Är ID ett autonummer ska du inte inkludera det i sql-satsen, Access kommer att skapa det själv.

Reserverar mig för total feltolkning, kan ha missförstått felet helt och hållet...


Svara

Sv:Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-22 23:55:06 - Christer Lundqvist

ID är en automatisk räknare i Access, men det verkar som att det inte funkar automatiskt i ASP.net
Jag har lagt till en textbox i inmatningen där jag kan knappa in ett löpnummer på ID manuellt, då funkar det. Något är lurt...

Jag ska titta på det i morgon igen, det går lite trögt nu. det blev inte så många timmars sömn i natt pga detta och morgonpigga barn....

Jag har föresten kört in alla servicepacken till Access då jag misstänker att det är något med databasfilen, men det blev ingen skillnad.


Svara

Sv:Problem med räknare/primärnyckel i Accessdatabas

Postades av 2007-09-23 20:14:05 - Christer Lundqvist

Tack för det!
Nu funkar det, tydligen en bugg i VWD 2005...



There is a bug in VWD 2005. When you use the wizard to create the accessdatasource, it makes you add your primary key field to insert statement. Remove the primary key from the insert statement *dont forget to remove one of the "?".

Bones


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 952
271 704
1 182
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies