Typenkonvertierung...

Daijin

Mitglied
Hiho zusammen,

ich hab folgenes Problem(chen):

Ich bastele an einem 'Steckbrief' (ASP.net/C#) mit nem Eingabeformuar.
Ich lese also die Daten zu den Personen in Textboxen ein, speichere sie in einer Access DB, und gebe sie bei Aufruf der Steckbriefseite wieder aus.
Das hat mit 'Name' u.ä., also reinem Text, auch gut geklappt.

Nun möchte ich auch Fotos ausgeben lassen, und würde gerne die ImageUrl vom Benutzer angeben lassen (Textbox..?).

Irgendwie klappt das mit der Konvertierung des DB Inhalts zu nem String leider nicht...
Wie mache ich das, bzw. welche andre Möglichkeit hätte ich, die ImageUrl einzugeben und das Bild angezeigt zu kriegen?


Antwort mit kleinem CodeBsp wäre nett... :)

danke schonma..!
 
Original geschrieben von Daijin
Hiho zusammen,

ich hab folgenes Problem(chen):

Ich bastele an einem 'Steckbrief' (ASP.net/C#) mit nem Eingabeformuar.
Ich lese also die Daten zu den Personen in Textboxen ein, speichere sie in einer Access DB, und gebe sie bei Aufruf der Steckbriefseite wieder aus.
Das hat mit 'Name' u.ä., also reinem Text, auch gut geklappt.

Nun möchte ich auch Fotos ausgeben lassen, und würde gerne die ImageUrl vom Benutzer angeben lassen (Textbox..?).

Irgendwie klappt das mit der Konvertierung des DB Inhalts zu nem String leider nicht...
Wie mache ich das, bzw. welche andre Möglichkeit hätte ich, die ImageUrl einzugeben und das Bild angezeigt zu kriegen?


Antwort mit kleinem CodeBsp wäre nett... :)

danke schonma..!

Wie währe es wenn du den betreffenden Codeabschnitt der nicht klappt hier mal
pastest, dann können wir uns das mal anschauen.
 
ok, auf die hier folgende Art hab ich die ganzen Text Teile ausgelesen...
in dem Fall hier die ImageUrl; jetzt fehlt mir eben der nächste Schritt, wie mach ich aus dem DB Inhalt z.B. nen String.

"Der Code der nicht klappt" ist noch garnicht da, weil ich keine Ahnung hab wie ich ihn schreiben soll.... :)


-------------------------------------------------------------------------------

int i;

// (.....)

System.Data.DataSet ZeigDichIma() {

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=D:\\Inetpub\\wwwr" +
"oot\\aspnet\\Vorlage\\daten.mdb";

System.Data.IDbConnection dbConnection = new System.Data.OleDb.OleDbConnection(connectionString);

string queryString = "SELECT [dat2].[image] FROM [dat2] WHERE [dat2].[ID]
= " + i + "";

System.Data.IDbCommand dbCommand = new
System.Data.OleDb.OleDbCommand();

dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;

System.Data.IDbDataAdapter dataAdapter = new
System.Data.OleDb.OleDbDataAdapter();
dataAdapter.SelectCommand = dbCommand;
System.Data.DataSet dataSet = new System.Data.DataSet();
dataAdapter.Fill(dataSet);

return dataSet;

}

--------------------------------------------------------------------------------
 
Hallo.

Also, du liest diverse Daten von Personen ein, und unter anderem die URL zu einem (oder mehreren?) Bild(ern)?

Die Url einfach in einer Text-Spalte in der Datenbank speicher, und ganz normal wie einen String, z.b. wie den Namen, lesen und schreiben.
Bei der Ausgabe gibst du den String einfach beim Src-Attribut des Img-Tags aus.

Sollten es nun mehrere Bilder sein können, speichere die Urls hintereinander, mit einem Leerzeichen getrennt, in die DB.
Beim Auswerten, wirst du dann diesen String durch den Split Befehl in die einzelnen zerteilen müssen.
Wenn du mehrere URLs speichern wirst, wirst du übrigens einen grösseren Felddatentyp benötigen, Text erlaubt ja nur 255 Zeichen.

Ich hoffe das hat in irgendeiner Weise geholfen zu haben.

Mfg,
Alex
 
Also, du liest diverse Daten von Personen ein, und unter anderem die URL zu einem (oder mehreren?) Bild(ern)?
Genau das, ein Bild reicht. :)


Die Url einfach in einer Text-Spalte in der Datenbank speicher, und ganz normal wie einen String, z.b. wie den Namen, lesen und schreiben.
Hab ich gemacht, funktioniert.


Bei der Ausgabe gibst du den String einfach beim Src-Attribut des Img-Tags aus.
Da ist der hüpfende Punkt, wie genau mach ich das?
Ich hab bisher die ganzen Inhalte in ein DataGrid ausgelesen..



<img src=" X " />

@Alexander Schuc, du meintest einfach an der Stelle X den String aus der Db..?
Muss das nicht in den Script-Teil?
Könnte jemand evtl diese Zeile posten?


Sorry wenn ich mich blöd anstelle, das ganze ist noch Neuland für mich....
danke.. :)
 
Ja, ich meine dort an der Stelle X.
Ich muss leider sagen, ich hab noch nie mit einem DataGrid gearbeitet, immer nur mit dem Repeater-Control.

Wie sieht denn im Moment das DataGrid-Control bei dir aus?

Ach,.. Alex reicht, musst nicht den ganzen Namen schreiben ;)

// Alex
 
Im DataGrid macht man das so:

Code:
<asp:datagrid>
  <columns>
    <asp:templatecolumn>
      <img src='<%# DataBinder.Eval(Container.DataItem, "image") %>' border="0">
    </asp:templatecolumn>
  </columns>
</asp:datagrid>
 
Code:
<asp:templatecolumn>
	<ItemTemplate>
		<img src='<%# DataBinder.Eval(Container.DataItem, "image") %>' border="0">
	</ItemTemplate>
</asp:templatecolumn>
 
Zurück