Hej!
Håller på och gör en CD-databas. Har skrivit lite kod som jag inte får att fungera... Funktionen ska i a f vara så här:
När man registrerar en ny skiva vill jag att scriptet kollar om artisten finns med i tabellen artist. Finns artisten med ska Recordsetet bara returnera artist_id. Finns artisten inte med ska artisten läggas till som en ny post.
Eftersom tabellerna relarterar till varandra ska det aktuella artist_id läggas in i tabellen album, där även annan albuminfo ska läggas in. Låter det krångligt?? Skicka i alla fall med koden:
<%@ Language = VBScript %>
<% Option Explicit %>
<!--#include virtual="\adovbs.inc"-->
<%
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=mydb"
objConn.Open
Dim strAlbum_namn
Dim strArtist_namn
strAlbum_namn = Request.Form("album_namn")
strArtist_namn = Request.Form("artist_namn")
Dim strSQL
Dim strSQL2
Dim strSQL3
Dim strSQL4
Dim objRS
Dim objRS2
Dim objRS3
Dim objRS4
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS2 = Server.CreateObject("ADODB.Recordset")
Set objRS3 = Server.CreateObject("ADODB.Recordset")
Set objRS4 = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT artist_name FROM artist WHERE artist_name = '" & strArtist_namn & "'"
objRS.Open strSQL, objConn, adOpenDynamic, adLockPessimistic, adCMDText
If objRS.EOF Then
strSQL2 = "INSERT INTO artist(artist_name) VALUES('" & strArtist_namn & "')"
objRS2.Open strSQL2, objConn, adOpenDynamic, adLockPessimistic, adCMDText
Else
strSQL3 = "SELECT artist_id FROM artist WHERE artist_name = '" & strArtist_namn & "'"
objRS3.Open strSQL3, objConn, adOpenDynamic, adLockPessimistic, adCMDText
Dim artist_id
artist_id = objRS3("artist_id")
Response.Write("artist_id")
End If
strSQL4= "INSERT INTO album(album_name, artist_id) Values('" & strAlbum_namn & "', '" & artist_id & "')"
objRS4.Open strSQL4, objConn, adOpenDynamic, adLockPessimistic, adCMDText
objRS.Close
objRS2.Close
objRS3.Close
objRS4.Close
objConn.Close
Set objRS = Nothing
Set objRS2 = Nothing
Set objRS3 = Nothing
Set objRS4 = Nothing
Set objConn = Nothing
%>
När jag kör scriptet får jag följande felmeddelande:
Feltyp:
ADODB.Recordset (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
/add.asp, line 56