N Nson Medlem sedan juni 2001 145 inlägg Frågan 22 aug. 2001 06:07 #1 Nån som har fått ABCUpload att funka med MySQL. Alltså att spara som blob's.
Har testat det medföljande exemplet men får ett fel på raden som skall skriva in data i databasen.
Vore kul om nån visste hur jag skall få det att funka.
{form.asp}
<html>
<body>
<form method="post" action="writeSql.asp" enctype="multipart/form-data">
<input type="file" name="filefield"><br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
{writeSQL.asp}
<%
Server.ScriptTimeout = 300 ' five minutes
Set theForm = Server.CreateObject("ABCUpload4.XForm")
Set theField = theForm("filefield")(1)
' Create new database connection
Set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open "Driver={mySQL};" & \_
"Server=localhost;" & \_
"Database=Users;"
mySQL = "INSERT INTO tblImagies (uImage)"
mySQL = mySQL & " VALUES (" & theField.Data & ");"
set myRS = MyConn.Execute(MySql)
' ->
%>
L LarsG Medlem sedan dec. 2000 12 464 inlägg Vad får du för fel? Det är alltid intressant att veta i dessa sammanhang.
mySQL = "INSERT INTO tblImagies (uImage)"
mySQL = mySQL & " VALUES ('" & theField.Data & "')"
MyConn.Execute MySql,,128
kanske fungerar bättre.
------------------
essentitia preter non sans multiplicandum
N Nson Medlem sedan juni 2001 145 inlägg Får följande fel:
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/test/writeSql.asp, line 14
Alltså inte från sql utan det ser mer ut som nåt annat ?
/Nson
@nders Medlem sedan juni 2000 32 967 inlägg vilken är rad 14 då?
------------------
can i borrow your goat?
N Nson Medlem sedan juni 2001 145 inlägg förlåt ;)
mySQL = mySQL & " VALUES (" & theField.Data & ");"
Är rad 14.
N Nson Medlem sedan juni 2001 145 inlägg Fick just följande meddelande från dem som gjort komponenten. Förstår inte så där hejdundrans mycket mer hur jag skall få det o o funka men någaon kanske kan tipsa mig:
"I'm not sure what to suggest here. We're not experts with mySQL. However
remember the field data is an array of raw bytes so you're likely to need to
encode it in some way before you can insert it into a SQL string."
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det måste vara thefield.data som inte passar in i sammanhanget. Jag vet inget om ABCUpload så jag har ingen aning egentligen, men du kan ju testa
mySQL = mySQL & " VALUES ('" & cstr(theField.Data) & "')"
------------------
essentitia preter non sans multiplicandum
L LarsG Medlem sedan dec. 2000 12 464 inlägg Du kan nog bortse från mitt förra inlägg. Skrev det innan jag såg array of raw bytes.
Om det är en vanlig array så borde detta gå
mySQL = mySQL & " VALUES ('" & join(theField.Data) & "')"
------------------
essentitia preter non sans multiplicandum
N Nson Medlem sedan juni 2001 145 inlägg Då åkte jag på
Error Type:
Microsoft VBScript runtime (0x800A01CA)
Variable uses an Automation type not supported in VBScript
L LarsG Medlem sedan dec. 2000 12 464 inlägg Tyvärr så kan jag inte hjälpa något mer i denna fråga.
------------------
essentitia preter non sans multiplicandum
N Nson Medlem sedan juni 2001 145 inlägg Tack för att du tog dig tid att försöka i alla fall.
Mvh Nson
Herman Medlem sedan maj 2001 431 inlägg Du måste använda Recordset för att skicka in datan i databasen. Har för mig att Connection-objectet både har en begränsning för mängden data man kan skicka samt att den inte stödjer binär INSERT. Jag har iaf aldrig lyckats få in ett jota.
Tillägg: Kika gärna på Stream-objektet!
------------------
En eller annan godbit från pannan
[Redigerat av Herman den 22 aug 2001]