Mit ein paar Kumpels richten wir eine Fotodatenbank auf einem SQL Server 2005 den wir mitbenutzen können, ein. Jeder von uns soll Bilder raufladen können und jeder soll alle ansehen können. Der Server und die Spalten ist von einem Administrator eingerichtet, da sollen wir nicht ran. Es gibt normale numerische und stringFelder und das eine Feld vom Typ image.
Das mit der verbindung zum Server ist ok und das mit dem runterholen der Bilder mit GetDatabaseBlob klappt auch, die bereits von wem anderen drauf sind.
Aber selbst draufspielen klappt nicht

Weil der Code:
Code: Alles auswählen
; PB 4.40
UseODBCDatabase()
fotonummer.l
; makeConnection
If OpenDatabase(0, "SUPERPICS", "", "")
fotonummer = 1234
IF ReadFile(0, "c:\mypictures\picture1.jpg")
Bild_Laenge = Lof(0)
*buffer = AllocateMemory(Bild_Laenge)
If *buffer
If ReadData(0, *buffer, Bild_Laenge)
befehlstring$ = "INSERT INTO dbo.gamepics ( Foto_Nummer, Foto_Image ) VALUES ( " + fotonummer + ", ? )"
If SetDatabaseBlob(0, 0, *buffer, Bild_Laenge)
If DatabaseUpdate(0, befehlstring$)
Debug "OK"
Else
Debug "ERROR"
Debug DatabaseError()
EndIf
Endif
Endif
FreeMemory(*buffer)
Endif
CloseFile(0)
Endif
Endif
[Microsoft][ODBC SQL Server Driver]Das COUNT-Feld ist nicht korrekt, oder es besteht ein Syntaxfehler
Das Problem ist das Fragezeichen in dem Befehlsstring. Wenn ich stattdeesen null reinschreibe, läuft es durch, aber ich hab kein Bild drinnen ^^
Alle anderen numerischen und string-Spalten kann ich korrekt beschreiben.
Aber wie bekomme ich das Bild rein? Braucht der SQL-Server da was anderes als das Fragezeichen?

Gibts alternativv eine DLL die das Imageschreiben in den SQL-Server 2005 erledigen kann? Hab nichts gefunden.
DANKE Lupo