2009-05-21 13 views
0

pourquoi mon idatareader faire erreur .....?idatareader problème

byteSize = _reader.GetBytes(_reader.GetOrdinal(sFieldName), 0, null, 0, 0); 

Je veux retrive l'image de base de données ici sFieldName est la colonne de base de données Nom ...... il me montre cast spécifié n'est pas valide. un message ...... ce que je fais? Travailler sur C# fenêtre VS05 ....

sFieldName est une chaîne .... c'est le nom de la colonne de base de données et le type de colonne est l'image Mon nom de la colonne de base de données est "BoardImage"

sFieldName = "BoardImage"

oBoardDetail.BoardImage =oReader.GetImage("BoardImage"); 

ici oBoardDetail est un objet de classe et BoardImage est un type de propriété de classe Image

+0

Eh bien, pour commencer, de quel type * est * le champ? –

+0

Si vous n'avez aucun autre moyen de déboguer, essayez d'imprimer _reader.GetFieldType (_reader.GetOrdinal (sFieldName)), ce qui vous donnera l'objet Type correspondant au type de la colonne. Ensuite, vous pouvez corriger GetBytes à la méthode appropriée. –

+1

S'il vous plaît arrêter de poser la même question encore et encore, Shamin. Si vous n'obtenez pas la réponse que vous voulez, mettez à jour votre question originale avec plus d'informations. –

Répondre

0

Très probablement, la colonne sFieldname n'est pas une colonne Image ou VarBinary.

Veuillez mettre à jour les informations manquantes sur le système de base de données, la structure de table et l'instruction de sélection.