Je développe un projet dans lequel je dois utiliser une base de données pour stocker des données d'un cinéma. L'une des tables stocke des données de films (nom de film, acteurs de durée, etc.) et il a une colonne d'image; Je l'ai laissé null pour que je puisse d'abord prendre soin de la connexion, puis insérez les ovies mais que je n'ai pas inséré l'image, et maintenant lorsque j'essaie d'insérer l'image, il donne cette erreur.
L'identifiant multi-parties "Filmes.titulo_filme" n'a pas pu être lié. P> blockQuote>
Le code que j'utilise pour insérer l'image est la suivante: P>
update Filmes set Imagem = (select * from OPENROWSET(BULK N'F:\RC\RC8\Projecto\ShikiHD_ASP\ShikiHD_ASP\Images\bohemianrhapsody.jpeg', SINGLE_BLOB) as image) where Filmes.Titulo_Filme = 'Bohemian Rhapsody'
3 Réponses :
Ceci est votre requête:
update filmes
set imagem = i.image
from OPENROWSET(BULK N'F:\RC\RC8\Projecto\ShikiHD_ASP\ShikiHD_ASP\Images\bohemianrhapsody.jpeg', SINGLE_BLOB) as i(image)
where filmes.Titulo_Filme = 'Bohemian Rhapsody';
J'ai essayé les deux sens et les deux ne fonctionnaient pas. Il a donné une erreur de nom de colonne non valide dans Titulo_Filme et Image (dans votre réponse, vous avez "Imagen", je l'ai essayé et cela ne fonctionnait pas non plus et l'a changé à l'image, Imagem et n'a toujours pas travaillé). La mise à jour a déclaré "chaîne ou données binaires serait tronquée. La déclaration a été terminée".
Selon votre déclaration, vous avez déjà inséré des données dans tous les champs autres que Donc, au lieu d'insérer, vous devez mettre à jour le colonne comme suit. De plus, vous devez vous assurer que des crochets soient ajoutés à des endroits appropriés. P> image code> de Films code> Table. UPDATE Filmes
SET Imagem =
(SELECT BulkColumn FROM OPENROWSET(BULK N'F:\RC\RC8\Projecto\ShikiHD_ASP\ShikiHD_ASP\Images\bohemianrhapsody.jpeg' , SINGLE_BLOB) AS x)
WHERE Filmes.Titulo_Filme = 'Bohemian Rhapsody'
J'ai essayé cela et cela donne toujours la même erreur: "String ou Données binaires serait tronquée. La déclaration a été terminée."
S'il vous plaît essayez de courir les requêtes suivantes séparément. Donc, vous allez venir pour savoir quelle requête jette une erreur.
Première requête seconde requête p>
La première requête a renvoyé toutes les colonnes de ce film. Le second a renvoyé la matrice d'octet de l'image en question. Non d'entre eux donnent une sorte d'erreur lorsqu'il est séparé juste quand ils sont ensemble.
Veuillez vérifier le type de données de la colonne "Image". Ça devrait être "image"
Je me sens vraiment stupide maintenant, j'aurais dû vérifier cela en premier. Mais c'était ceci, merci.
Non - N'utilisez pas l'image. Cela a été obsolète en 2005. Utilisez Varbinary (Max).
Merci pour le conseil @smor
Veuillez spécifier la langue de la base de données que vous utilisez (ressemble à SQL Server à partir de
OpenRowset code>), comme "SQL" est une famille de langues.