Avatar billede cht Nybegynder
13. marts 2002 - 18:35 Der er 3 løsninger

Tilføje binære data til MySQL database

Er der nogen der har koden til at tilføje binære data til en MySQL database.
Avatar billede coltau Juniormester
13. marts 2002 - 18:40 #1
MySql understøtter binære felttyper og de anvendes som bekendt true/false.

SQL = "update tabel set (Flag=true)"

Eller vil du gemme et binært mønster i et tal. ?
Avatar billede medions Nybegynder
13. marts 2002 - 19:15 #2
Her er lidt læse stof til dig... - som gå alt igennem..:

Skab en forbindelse og luk den efter brug
<%
  Dim objConnection, strConnect
  <!-- #include file="connect.inc" -->
  Set objConnection = Server.CreateObject("ADODB.Connection")
  objConnection.Open strConnect
 
  ...her forbinder du til databasen, vælg en mulighed fra nedenstående...

  objConnection.Close
  Set objConnection = Nothing
%>Connection (lettest)
<%
  strSQL = "INSERT INTO tabel (felt1, felt2) VALUES (værdi1, værdi2)"
  objConnection.Execute(strSQL)
%>
Connection med dataudtræk (returnerer data)
<%
  strSQL = "SELECT * FROM tabel WHERE total = xxx"
  Set objConnection = objConnection.Execute(strSQL)

  Do While Not objConnection.EOF
    Response.Write objConnection.Fields("felt1") & " " & objConnection.Fields("felt2") & "<br>"
    objConnection.MoveNext
  Loop
%>Command Execute (cacher dit kald, hurtig hvis du kalder flere gange)
<%
  Set objCommand = Server.CreateObject("ADODB.Command")
  Set objCommand.ActiveConnection = objConnection
  objCommand.CommandText = strSQ
  objCommand.CommandType = adCMDText
  objCommand.Execute
  Set objCommand = Nothing
%>
Recordset (add) (langsomt, har dog visse avancerede muligheder)
<%
  Recordset.AddNew
  Recordset("Felt") = "En ny værdi"
  Recordset.Update
%>
Recordset (show) (som ovenstående, med dataudtræk)
<%
  Dim objRec
  Set objRec = Server.CreateObject("ADODB.Recordset")

  objRec.Open "Tabel", objConnection, 0, 1, 2

  Do While Not objRec.EOF
    Response.Write objRec("Felt") & "<br>"
    objRec.MoveNext
  Loop

  objRec.Close
  Set objRec = Nothing
%>

//>Rune
Avatar billede cht Nybegynder
21. marts 2002 - 20:05 #3
Tak for dit svar.... Men det virker desværre ikke til MySQL

Jeg har prøvet med nedenstående, men der er et problem med udskrivningen af de binære data (billeder):

<%
  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(StringToBinary(objStream.Read)) & "'" &_
    ")"

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

    Conn.Execute SQL

    Conn.Close
    Set Conn = Nothing


        objStream.Close
        Set objStream = Nothing
%>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester