Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560

    [VB.NET] Inserimento immagine in DB

    Ho la necessità di inserire delle immagini scelte dall'utente del mio prg per PocketPC in un db.
    Ho scritto la funzione che va a fare l'INSERT in SQL nel DB ma mi restituisce un errore dicendomi che c'è un errore nella query. Non capisco qual'è però... gli date un'occhiata?

    Questa è la funzione per l'inserimento nel DB
    codice:
       Try
          Dim Img() As Byte = GetImg(FilePath + FileName)
          Dim SQL As String
          Dim Cmd As New SqlCeCommand
          Cmd.Connection = CN
          Cmd.CommandType = CommandType.Text
          SQL = "INSERT INTO TInt_BdlImg (FileName,Img) VALUES ('" + FileName + "', @ImgByte);"
          Cmd.CommandText = SQL
          Cmd.Parameters.Add("@Imgbyte", SqlDbType.Image, Img.Length).Value = Img
          Cmd.ExecuteNonQuery()
          Cmd.Dispose()
      Catch ex As SqlServerCe.SqlCeException
          IntercErr(ex.Message)
      Catch ex As Exception
          IntercErr(ex.Message)
      End Try
    e questo è la query contenuta della variabile SQL al momento dell'ExecuteNonQuery()
    codice:
    INSERT INTO TInt_BdlImg (FileName,Img) VALUES ('image_00019.jpg', @ImgByte);
    Perchè mi da errore?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    In SQL Server "filename" è una parola riservata, prova a racchiuderla tra [ ]

    HTH
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  3. #3
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Niente, ho inserito le [] ma non è cambiato nulla. Ho ache provato a cambiare il nome al campo e a eliminare l'inserimento dell'immagine. Mi da sempre errore. A questo punto è logico che pensare chec'è un errore indipendente dall'img!!!!!

    codice:
       Dim Img() As Byte = GetImg(FPath + FName)
       Dim SQL As String
       Dim Cmd As New SqlCeCommand
       Cmd.Connection = CN
       Cmd.CommandType = CommandType.Text
       SQL = "INSERT INTO TInt_BdlImg (FName) VALUES (@FName)"
       Cmd.CommandText = SQL
       Cmd.Parameters.Add("@FName", SqlDbType.NChar, 30).Value = "prova"
       Cmd.ExecuteNonQuery()
       Cmd.Dispose()
    Il parametro me lo aggiunge tranquillamente e gli assegna anche il valore "prova" ma quando va ad eseguire la query da errore....
    Ho controllato anche il SQL Server CE accetti la @ come indicatore di paramentro... non so che altro fare...

  4. #4
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Ho fatto decine di altre prove... il problema sono proprio i parameters... se li levo l'INSERT funziona benissimo.
    Forse devo sapere qualcosa che non so...
    ho controllato anche su MSDN e sulla domumentazione ma trovoesempi identici al mio!!!

    Aiutooooooo

  5. #5
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Ma riferito a SQL CE fa esempi così?

    Guarda http://tinyurl.com/4t8r9

    I parameters vengono passati con '?' e non con '@nomeparametro'
    Prova così

    HTH
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  6. #6
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Da http://tinyurl.com/3jdjn

    A parameter marker is a question mark (?) placed in the location of an input expression in an SQL statement. Values for the parameters are passed programmatically when the command is executed.

    Named parameters are not supported in SQL Server CE.
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  7. #7
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Azzz.... te credo che non funzionava!!
    Grazie, sei stato mooolto prezioso!
    Evidentemente mi sono confuso con la documentazione di vb.net su SQLServer... bah... forse devo fare una pausa... e da questa mattina alle 7.15 che smanetto...

    Ciao e grazie ancora...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.