USE i SQL

Databaser & SQL

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

Medlem sedan feb. 20012 412 inlägg
Trådstart#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

Medlem 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.

Medlem 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

Medlem 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.

Medlem 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

Medlem 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]

Medlem 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

247 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)