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


Undvik dubletter...

Postades av 2003-05-13 16:42:43 - Fredrik Hassel, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 722 personer

Hej,
Kör inmatning från ett formulär där första fältet är primärnyckel. Jag vill såklart inte att man ska kunna registrera dubletter utan att det kontrolleras. Har testat, men inte fått det att fungera. Tror att det skulle det kunna se ut något så här?

'Utför SQL uttrycket med hjälp av variablerna från formuläret
sql="Insert into SERVER(SERVER,ORT,FUNKTION,DATABAS,MODELL,PROCESS,MHZ,MINNE,UTRUST,OS,DOMAIN,KOMMENTAR) VALUES ('" & servers & "','" & ort & "','" & funk & "','" & dbas & "','" & model & "'," & procs & "," & mhzp & "," & minne & ",'" & utrus & "','" & oper & "','" & domai & "','" & komme & "')" WHERE ('" & servers & "')NOT EXISTS(SELECT SERVER FROM SERVER);"

Det sista raden fungera inte för mig, men det jag vill är att om man försöker lägga in ett servernamn (primär) som redan finns så ska man promtas att posten redan finns och man måste ange ett annnat id. Det borde väl ligga när man öppnat och ska börja lägga in. Som det blir nu om man anger en dublett så får man Page cannot display och felmeddelandet att man försökt sätta in ett duplikat.

Mvh, Fredrik H


Svara

Sv: Undvik dubletter...

Postades av 2003-05-13 22:25:44 - Andreas Hillqvist

Varför bar inte göra det så här?
<code>
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function

Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function


Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("DinDatabas.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT Null FROM [SERVER] WHERE [SERVER].[SERVER] = " & SQLText(servers), Con

If rs.EOF Then
strSQL = "INSERT INTO [SERVER] ([SERVER], [ORT], [FUNKTION], [DATABAS], [MODELL], [PROCESS], [MHZ], [MINNE], [UTRUSTNING], [OS], [DOMAIN], [KOMMENTAR]) VALUES" & vbCrLf & _
"(" & SQLText(servers) & ", " & SQLText(ort) & ", " & SQLText(funk) & ", " & SQLText(dbas) & ", " & SQLText(model) & ", " & SQLNumber(procs) & ", " & SQLNumber(mhzp) & ", " & SQLNumber(minne) & ", " & SQLText(utrus) & ", " & SQLText(oper) & ", " & SQLText(domai) & ", " & SQLText(komme) & "');"
Con.Execute strSQL
Else
Response.Write "Servern""" & servers & """ finns redan!"
End If
rs.Close
Set rs = Nothing

Con.Close
Set Con = Nothing
</code>


Svara

Sv: Undvik dubletter...

Postades av 2003-05-14 07:42:37 - Fredrik Hassel

Hej, tack för hjälpen. Jag får det dock inte att funka fullt ut med din lösning. Jag får ett felmeddelande om Syntax error, UNKNOWN_TOKEN ignored på denna raden

rs.Open "SELECT Null FROM [SERVER] WHERE [SERVER].[SERVER] = " & SQLText(servers), objCon

Så här ser hela min koppling ut:

Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Driver={MIMER};Database=mimerdb;Uid=anv;Pwd=losen;"

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT Null FROM [SERVER] WHERE [SERVER].[SERVER] = " & SQLText(servers), objCon

Såg att du hade exemlet med en access databas, men det ska väl inte spela någon roll?


Svara

Sv: Undvik dubletter...

Postades av 2003-05-14 10:05:07 - Andreas Hillqvist

Det hjälper om du nämner databas du använder när du skriver inlägg.
Gissar på att det anntingen är Null eller [ och ]-tecknet. Testa med:
<code>
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function

Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function


Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("DinDatabas.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM SERVER WHERE SERVER.SERVER = " & SQLText(servers), Con

If rs.EOF Then
strSQL = "INSERT INTO SERVER (SERVER, ORT, FUNKTION, DATABAS, MODELL, PROCESS, MHZ, MINNE, UTRUSTNING, OS, DOMAIN, KOMMENTAR) VALUES" & vbCrLf & _
"(" & SQLText(servers) & ", " & SQLText(ort) & ", " & SQLText(funk) & ", " & SQLText(dbas) & ", " & SQLText(model) & ", " & SQLNumber(procs) & ", " & SQLNumber(mhzp) & ", " & SQLNumber(minne) & ", " & SQLText(utrus) & ", " & SQLText(oper) & ", " & SQLText(domai) & ", " & SQLText(komme) & "');"
Con.Execute strSQL
Else
Response.Write "Servern""" & servers & """ finns redan!"
End If
rs.Close
Set rs = Nothing

Con.Close
Set Con = Nothing

</code>


Svara

Sv: Undvik dubletter...

Postades av 2003-05-14 10:51:45 - Fredrik Hassel

Hej,

Tack för hjälpen. Nu fungerar det som det ska!


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 800
27 960
271 761
509
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