2010-03-18 4 views
1

J'ai trois tableaux "photos", "spectacles", "showpics".Comment récupérer des éléments d'une base de données C#

Je veux pouvoir éditer la table "montre". Pour ce faire, j'ai besoin de récupérer les images que le spectacle contient (les images sont stockées dans le tableau "photos").

La table "showpics" agit comme un lien.

Est-ce que quelqu'un a des idées que je suis complètement perdu et ne savent pas où commencer même

+1

Quel genre de base de données (??? MS SQL MySQL SQLite Oracle PostgreSQL ...) utilisez-vous? Cela pourrait avoir un grand impact sur n'importe quelle réponse.Aussi, prévoyez-vous de stocker les images elles-mêmes dans la base de données, ou simplement le chemin de l'image? – FrustratedWithFormsDesigner

+0

oracle et les images sont stockées dans la table pic – Poppy

+0

Voici un lien sur la façon de lire et écrire des blobs dans Oracle http://www.oracle.com/technology/sample_code/tech/windows/odpnet/howto/anonyblock/ index.html –

Répondre

2

Je pense que vous devez savoir sur la façon de parler à la base de données - peut-être this tutorial on ADO.NET serait un bon endroit pour commencer .

ADO.NET est un ensemble de bibliothèques orienté objet qui vous permet d'interagir avec sources de données. Généralement, la source de données est une base de données, mais il peut également s'agir d'un fichier texte, d'une feuille de calcul Excel ou d'un fichier XML. Pour les objectifs de ce tutoriel, nous allons regarder ADO.NET comme un moyen d'interagir avec une base de données.

+0

je sais comment utiliser des ensembles de données etc. Im juste incertain de comment obtenir les données de la table pic qui est liée au spectacle choisi – Poppy

0

Lire comment lire et écrire BLOB avec ADO.NET et C# here.

1

Aussi, voici un tutoriel sur Linq

http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

Si vous ne l'avez pas utilisé ADO.NET il pourrait être un peu plus facile d'aller déclaratif route.

Linq peut interroger une base de données avec beaucoup moins de code et Linq exécutera une grande partie du code d'interface pour vous.

Voici un lien sur la façon de lire et écrire des blobs dans l'oracle http://www.oracle.com/technology/sample_code/tech/windows/odpnet/howto/anonyblock/index.html

0

En utilisant SQL, vous feriez quelque chose comme ça, par exemple, pour le spectacle ID 27:

select p.* 
from pics p 
inner join showpics sp on p.PicID = sp.PicID 
inner join shows s on sp.ShowID = s.ShowID 
where s.ShowID = 27 
0

Si les images sont gros (plus de 30Kb ou plus) vous ne voulez vraiment pas les mettre dans un DataSet ... c'était une manière fiable de planter un serveur avec des erreurs d'OOM pour moi sur une application sur laquelle j'ai travaillé. Pour traiter de grandes images, vous aurez envie de les diffuser dans et hors de la base de données ...

Voici un lien pour vous aider à démarrer le streaming, ou mieux encore, n'utilisez pas d'images de plus de 30ko ou donc, les mettre ailleurs sur le système de fichiers, et non pas dans les tableaux:

http://msdn.microsoft.com/en-us/library/3517w44b.aspx

Questions connexes