webForumDet fria alternativet

USE i SQL

6 svar · 252 visningar · startad av Jörgen HP

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#1

Hej!

Tanken min var att använda mySQL till ASP.
En liten fråga om USE.
När, hur och var använder man USE ?

USE db1;
SELECT Name, Mess FROM mytable;

måste man definiera USE vid varje fråga?

mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

emissionMedlem sedan dec. 19996 721 inlägg
#2

Nej, det är inte nödvändigt, eftersom man bestämmer vilken databas som gäller, redan vid uppkopplingen.

jorgenMedlem sedan feb. 20012 412 inlägg
#3

Hej!

Skriver så här:


<%
Set Conn = Server.CreateObject("ADODB.Connection")
[b]Conn.open "DSN=MySQL; SERVER=min_host; DATABASE=min_db; UID=mitt_anv_id; PWD=mitt_lösen;"[/b]

Name=Request.Form("Name")
Mess=Request.Form("Mess")

SQLStmt = "INSERT INTO gastbok "
SQLStmt = SQLStmt & "(Name, Mess) "
SQLStmt = SQLStmt & "VALUES('" & Name & "', '" & Mess & "'); "
Conn.Execute(SQLStmt)
Conn.Close()
Set Conn = Nothing
%>

Men får felmess:

ADODB.Connection.1 error '800a0bb9'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

/guestbook/insert.asp, line 13

Får inte det till att funka.

mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

[Redigerat av jorgen den 28 jul 2001]

emissionMedlem sedan dec. 19996 721 inlägg
#4

Du ska inte ange DSN om du inte satt upp en i ODBC-panelen förstås, och då behöver man ännu mindre ange vilken databas som gäller. Byt ut DSN till Driver, så funkar det nog bättre.

jorgenMedlem sedan feb. 20012 412 inlägg
#5

Hej!

Jag löste det efter mycket om och men.

Tydligen kan man inte bara skriva:

SQLStmt = "INSERT INTO gastbok "

Utan man måste skriva:

SQLStmt = "INSERT INTO databasnamn.tabellnamn "

Ps. Tack för hjälpsamheten emission

Vänligen Jörgen HP

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

emissionMedlem sedan dec. 19996 721 inlägg
#6

Utan man måste skriva:

SQLStmt = "INSERT INTO databasnamn.tabellnamn "

Det måste man inte om man satt upp kopplingen korrekt.

Ps. Tack för hjälpsamheten emission

Vassego :)

[Redigerat av emission den 29 jul 2001]

jorgenMedlem sedan feb. 20012 412 inlägg
#7

Hej!

Okey, jag tror dig och har provat:


"DSN=MySQL; SERVER=my_mysql_server; DATABASE=databas;
UID=användare;PWD=lösenord;"

och...


"DRIVER=MySQL; SERVER=my_mysql_server; DATABASE=databas;
UID=användare;PWD=lösenord;"

och...


"DRIVER={MySQL}; SERVER=my_mysql_server; DATABASE=databas;
UID=användare;PWD=lösenord;"

och...


"DSN={MySQL}; SERVER=my_mysql_server; DATABASE=databas;
UID=användare;PWD=lösenord;"

Men får fel 1064 No database selected. Skriver jag då som ovan där jag anger databas.tabellnamn så fungerar det. Kan det vara hur servern är grundkonfiguerad?

mvh Jörgen HP

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

[Redigerat av jorgen den 29 jul 2001]

132 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)