Squak Smalltalk [6 * 9 = 42] whileTrue: [World run]
Stopařův průvodce jedním převážně neškodným programovacím jazykem
smalltalk
Swiki
  • Domů
  • Zpět
  • Tento server

    Squeak
  • Úvod
  • Smalltalk
  • Články
  • Knihy
  • Dokumentace
  • FAQ
  • Tutoriály
  • Download
  • Odkazy

    Komunita
  • CSSUG
  • Oznámení
  • Projekty
  • O nás
  • Fórum
  • Kontakt

     

  • MySQL

    Konektivity na databázi MySQL je řešena pomocí driveru, který naleznete zde:

    http://map1.squeakfoundation.org/sm/package/231bd227-d947-4118-bce1-bfb8f4649f58

    Tento driver využívá připojení prostřednictvím socketů. Pro jeho běh ve verzi 3.6 je třeba opravit metodu
    JdmConnection>>initializeConnection
            | a |
            packetClass _ JdmInputPacket.
            a _ self class protocolHashes.
            (hashesByProtocol _ Dictionary new)
                    at: (a at: 1) put: (a at: 2);
                    at: (a at: 3) put: (a at: 4).
    
            socket _ Socket new
                    connectTo: (connectionSpec host)
                    port: (connectionSpec port).
            socket waitForConnectionFor: Socket standardDeadline.
    
            readStream _ writeStream _ SocketStream on: socket.
    
            serverInfo _ JdmServerInfo on: self.
            serverInfo serverVersion >= self class largeSizesVersion
                    ifTrue: [packetClass _ JdmLargeSizeInputPacket].
    
            clientCapabilities _ serverInfo protocol = 10 ifTrue: [1] ifFalse: [0]
    

    MySQL (v současné stabilní verzi) nepoužívá Unicode!

    Příklad

    Socket initializeNetwork.
    
    spec :=    (JdmConnectionSpec new initialize
            user: 'root'; password: '';
            host: (NetNameResolver addressForName: 'localhost');
            database: 'test';
            port: 3306).
    
    connection := JdmConnection on: spec.
    
    statement := connection createStatement.
    resultSet := statement executeQuery: 'select * from testtable'.
    
    "resultSet inspect"
    
    "Jmena sloupcu"
    Transcript cr; show: (resultSet columns collect: [:col | col name]) asString.
    
    [resultSet next] whileTrue:
    [
    	value := resultSet valueNamed: 'Name'. "hodnota sloupce Name"
    	Transcript cr; show: value printString.
    ].
    
    connection close.
    




    Odkaz na tuto stránku






    Administrátoři: Pavel Křivánek, Zbyněk Křivka