/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Binære (binary) data til MySQL database
Fra : Kasper Hansen


Dato : 23-03-02 09:08

Er der nogen der har koden til at tilføje binære (binary) data til MySQL
database:

Jeg betaler gerne, hvis der er en der kan komme med en løsning!


Dette kan bruges til Access (mdb) database, men det virker altså ikke til
MySQL:

<%
Const adTypeBinary = 1
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile Server.Mappath("fil.gif")

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "binarydb", strConn, 2, 2
rs.AddNew
rs("writer") = session("navn")
rs("filedata").AppendChunk objStream.Read
rs.Update

rs.Close
Set rs = Nothing
objStream.Close
Set objStream = Nothing
%>


Jeg har prøvet med nedenstående og det bliver også tilføjet til min MySQL
database, men jeg kan ikke få udskrevet det rigtigt fra databasen:


<%
SQLserveradr = "localhost"
SQLdatabase = "test"
SQLlogin = "admin"
SQLpassword = "admin"

strConn = "driver={MySql};server="& SQLserveradr &";database="&
SQLdatabase & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function

'Byte string to string conversion
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function

Function StringToBinary(S)
Dim i, ByteArray
For i=1 To Len(S)
ByteArray = ByteArray & ChrB(Asc(Mid(S,i,1)))
Next
StringToBinary = ByteArray
End Function


Const adTypeBinary = 1
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile Server.Mappath("fil.gif")


Function Validate(String)
if String = "" then
Validate = " "
else
Validate = Replace(Replace(String,"'","''"),Chr(0),"")
end if
End Function

Function ValidateNumber(String)
if not IsNumeric(String) or String = "" then
ValidateNumber = 0
else
ValidateNumber = String
end if
End Function



SQL = "INSERT INTO binarydb (" &_

"filedata" &_

") VALUES (" &_

"'" & Validate(getString(objStream.Read)) & "'" &_
")"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn

Conn.Execute SQL

Conn.Close
Set Conn = Nothing


objStream.Close
Set objStream = Nothing
%>


Jeg bruger følgende til at udskrive fra databasen, men det bliver som sagt
ikke udskrevet rigtigt:

<%
Set objRS = Server.CreateObject("ADODB.Recordset")
strQ = "SELECT * FROM binarydb order by id desc"
objRS.Open strQ, strConn, 2, 3, &H0001

if not objRS.EOF then
response.binaryWrite getByteString(getString(objRS("filedata")))
else
response.redirect "1x1.gif"
end if

objRS.Close
Set objRS = Nothing

%>

Håber der er nogen, der kan hjælpe mig.




 
 
Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste