Laden...

Forenbeiträge von Paulo Ingesamt 172 Beiträge

14.11.2005 - 09:32 Uhr

Ich versuche gerade diese PHP Funktion in C# zu konvertieren:


$z = hexdec(80000000);

habs so versucht:


        int z;
        z = int.Parse("80000000", System.Globalization.NumberStyles.HexNumber);

da kommt für z das hier raus:

-2147483648

Bei der PHP Funktion kommt jedoch:

214748364821474836482147483648214748364821474836482147483648214748364821474836482147483648214748364821474836482147483648214748364821474836482147483648214748364821474836482147483648

heraus und genau das bräuchte ich auch. Hab schon versucht z als decimal zu deklarieren aber dann bekomm ich mit decimal.parse einen error (no float types supported)

Danke!

10.11.2005 - 11:51 Uhr

Ok funktioniert mit dem Reader.
Danke.

10.11.2005 - 11:25 Uhr

Ok, dann hab ich wohl eher ein Problem das auzulesen 😮, brauch ich dafür einen DataReader oder wie geh ich in dem Fall vor? Hatte es so probiert aber das kann ja gar nicht funktionieren.


        cn = FnMySQL.CnOpen();
        cmd.Connection = cn;
        cmd.CommandText = "SELECT type, count(*) FROM sites WHERE Show='1' GROUP BY type";

        int RowCount = Int32.Parse(cmd.ExecuteScalar().ToString());

10.11.2005 - 11:19 Uhr

Hi danke, aber dann bekomm ich nur die Gesamtzahl heraus oder?

Ich weis nicht wieviele von Type 0, wieviel von Type 1 etc..

10.11.2005 - 11:03 Uhr

= 11 Queries, geht es irgendwie sparsamer?

Ich hab 11 verschiedene Types. z.B. Query:


SELECT COUNT() FROM table WHERE Type='0' AND Show='1';
SELECT COUNT() FROM table WHERE Type='1' AND Show='1';
SELECT COUNT() FROM table WHERE Type='2' AND Show='1';

etc. bis 11. Benutze MySQL.

Danke!

09.11.2005 - 09:52 Uhr

Original von tomaten
Ich speicher den Wert sofort beim ersten Aufruf der Url in einer Session Variablen und nur dann, wenn diese Null ist. Danach kann der User da ändern, was er will, es ist zu spät 🙂 !

und wenn der jenige schon vor dem Aufruf von asdf.aspx?ID=x den ID Wert ändert?

08.11.2005 - 22:44 Uhr

Ich hab eine HTML Table die sich dynamisch in der codebehind erzeugt mit folgenden Links (bsp):

<a href="asdf.aspx?ID=1"></a>
<a href="asdf.aspx?ID=2"></a>
etc.

Nun will ich verhindern dass jemand die Zahl bei ID einfach austauscht und da z.B. 9 einträgt, weil er dann einen Datensatz bekommt den er gar nicht sehn soll.

In php würde ich sowas wahrscheinlich mit hidden FormFields machen aber das ist auch nicht grad die beste Lösung.

Weis jemand Rat?

07.11.2005 - 19:25 Uhr

Weis jemand wie man den PageRank einer gewünschten Seite in ASP.NET berechnet oder wo es Infos dazu gibt?

Danke!

03.11.2005 - 14:21 Uhr

Vielen Dank an alle!

02.11.2005 - 21:20 Uhr

Es geht doch nicht ganz..


System.InvalidOperationException was unhandled
  Message="Cross-thread operation not valid: Control 'BoxConfiguration' accessed from a thread other than the thread it was created on."
  Source="System.Windows.Forms"

02.11.2005 - 21:16 Uhr

Stimmt, das geht, danke! 🙂

Trotzdem wäre noch interessant ob es generell möglich ist Close Events einer anderen Form abzufangen 😮

Danke und Gruß

02.11.2005 - 20:39 Uhr

Und wie genau kann ich das abfangen?
Habs mit


        private void SettingsForm_Close(object sender, EventArgs e)
        {
            string asd = "ASDAS";
        }

oder


        private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            string asd = "ASDAS";
        }

auf Form1 probiert aber da springt er nicht rein..

02.11.2005 - 20:21 Uhr

Ich hab 2 Forms: Form1 und SettingsForm.

In der SettingsForm trage ich verschiedene Einstellungen ein, wenn ich dort nun auf "Save" klicke, wird ein neuer XML Eintrag geschrieben und die SettingsForm schließt sich.

Die Combobox auf Form1 enthält Inhalte dieser XML Datei. Somit ist die Combobox nicht auf dem aktuellen Stand wenn sich SettingsForm schließt, erst wenn ich das Programm neu starten würde. Gibts eine Möglichkeit die Combobox auf Form1 zu aktualisieren?

Sowas wie z.B. On SettingsForm_Close?

02.11.2005 - 17:44 Uhr

Okay vielen Dank, klappt!

02.11.2005 - 15:06 Uhr

Hi Friedel,

also ich hab nun Serialize so zusagen als Subroutine von Form1.cs definiert


        public static void Serialize(string file, Configurations c)
        {
            System.Xml.Serialization.XmlSerializer xs
               = new System.Xml.Serialization.XmlSerializer(c.GetType());
            StreamWriter writer = File.CreateText(file);
            xs.Serialize(writer, c);
            writer.Flush();
            writer.Close();
        }

Und respektive Configurations.Serialize("test.xml", conf); in Serialize("test.xml", conf); geändert.

Leider sieht die XML File immer noch so aus 😮


<?xml version="1.0" encoding="utf-8"?>
<Configurations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ConfigurationList>
    <Configuration>
      <Name>Default Configuration</Name>
      <Destination>TEST2</Destination>
      <Host>TEST1</Host>
    </Configuration>
    <Configuration>
      <Name>Default Configuration</Name>
      <Destination>TEST2</Destination>
      <Host>TEST1</Host>
    </Configuration>
  </ConfigurationList>
</Configurations>

Also 2x das gleiche, hast du noch eine Idee?
Vielen Dank für die nette Hilfe!

02.11.2005 - 14:37 Uhr

Vielen Dank nochmal, ich häng jetzt wohl nur noch an einem kleinen Prob:

So siehts nun aus:


    [Serializable]
    public class Configurations
    {
        private System.Collections.ArrayList configurations;

        public Configurations()
   {
       this.configurations=new ArrayList();
   }

[XmlArrayItem(Type=typeof(Configuration),IsNullable = false)]
public ArrayList ConfigurationList
{
get{return this.configurations;}
set{this.configurations=value;}
}

        public static Configurations Deserialize(string file)
        {
            System.Xml.Serialization.XmlSerializer xs
               = new System.Xml.Serialization.XmlSerializer(
                  typeof(Configurations));
            StreamReader reader = File.OpenText(file);
            Configurations c = (Configurations)xs.Deserialize(reader);
            reader.Close();
            return c;
        }

        public static void Serialize(string file, Configurations c)
        {
            System.Xml.Serialization.XmlSerializer xs
               = new System.Xml.Serialization.XmlSerializer(c.GetType());
            StreamWriter writer = File.CreateText(file);
            xs.Serialize(writer, c);
            writer.Flush();
            writer.Close();
        }
              
    }

Jetzt führe ich folgenden Test aus und die XML File beinhaltet dann aber leider 2x das selbe, es sind zwar zwei Datensätze aber 2x mit der Value TEST1 und TEST2:


            // Create a new configuration object
            // and initialize some variables
            Configuration c = new Configuration();
            c.Host = "asssf";
            c.Destination = "xxxxx";


            Configurations conf = new Configurations();
            conf.ConfigurationList.Add(c);

            c.Host = "TEST1";
            c.Destination = "TEST2";

            conf.ConfigurationList.Add(c);

            Configurations.Serialize("test.xml", conf);

Er replaced dann "assssf" und "xxxxx" mit TEST1 und TEST2. Also trotz dessen dass der index beim ersten 0 ist und beim zweiten 1. Also ich hab nun zwei Datensätze in der XML File aber zweimal das selbe. Sorry ich tu mir generell noch ein wenig schwer 😮 Wie würdest du das dann korrekt zur ConfigurationList hinzufügen?

Vielen Dank!

02.11.2005 - 13:53 Uhr

Original von Friedel
Hallo Paulo,

dann solltest du eine Liste (ArrayList) aller vorhandenen Configuration-Instanzen anlegen und diese serialisieren/deserialisieren.
Dazu musst du diese Liste in einer Klasse (z.B. Configurations) anlegen, die Liste als öffentliche Eigenschaft der Klasse verfügbar machen (get/set), über den Acessor den Typ der Liste bekannt machen (z.B.:[XmlArrayItem(Type=typeof(Configuration),IsNullable = false) ]) und dann diese Klasse serialisieren/deserialisieren.

Gruss
Friedel

Hi und danke für deine Antwort.

Also, das ist bei mir im Moment Configuration.cs:


   [Serializable]
   public class Configuration
   {
       string _Name;
       string _Destination;
       string _Host;  

      public Configuration()
      {
          _Name = "Default Configuration";
          _Destination = String.Empty;
          _Host = String.Empty;
      }

       public Configuration[] Configurations;

      public static void Serialize(string file, Configuration c)
      {
         System.Xml.Serialization.XmlSerializer xs 
            = new System.Xml.Serialization.XmlSerializer(c.GetType());
         StreamWriter writer = File.CreateText(file);
         xs.Serialize(writer, c);
         writer.Flush();
         writer.Close();
      }
      public static Configuration Deserialize(string file)
      {
         System.Xml.Serialization.XmlSerializer xs 
            = new System.Xml.Serialization.XmlSerializer(
               typeof(Configuration));
         StreamReader reader = File.OpenText(file);
         Configuration c = (Configuration)xs.Deserialize(reader);
         reader.Close();
         return c;
      }

      public string Name
      {
         get { return _Name; }
         set { _Name = value; }
      }

      public string Destination
      {
         get { return _Destination; }
         set { _Destination = value; }
      }

       public string Host
       {
           get { return _Host; }
           set { _Host = value; }
       }

   }

Wenn ich dich richtig verstanden habe, packe ich diese properties jetzt alle in eine ArrayList(public) die ich dann serialisiere/deserialisiere. Aber wie genau komm ich dann an einen gewünschten Eintrag, z.B. ein Eintrag mit Name=xxx o.ä.

Vielen Dank!

Edit: Spontifixus: Genau so hab ich mir meine XML Datei vorgestellt, mir fehlts nur noch an der genauen Umsetzung für erstellen und auslesen 😮

02.11.2005 - 13:10 Uhr

Hi,

es geht um eine Config Datei für meine Applikation die verschiedene "Profiles" haben soll. Also Konfiguration A, B,C etc. auswählbar.

ich hab eine Serialize Klasse geschrieben die hat hauptsächlich 2 Funktionen:


      public static void Serialize(string file, Configuration c)
      {
         System.Xml.Serialization.XmlSerializer xs 
            = new System.Xml.Serialization.XmlSerializer(c.GetType());
         StreamWriter writer = File.CreateText(file);
         xs.Serialize(writer, c);
         writer.Flush();
         writer.Close();
      }
      public static Configuration Deserialize(string file)
      {
         System.Xml.Serialization.XmlSerializer xs 
            = new System.Xml.Serialization.XmlSerializer(
               typeof(Configuration));
         StreamReader reader = File.OpenText(file);
         Configuration c = (Configuration)xs.Deserialize(reader);
         reader.Close();
         return c;
      }

Geschrieben hab ich die XML File so:


             Create a new configuration object
             and initialize some variables
            Configuration c = new Configuration();
            c.Host = "asssf";
            c.Destination = "xxxxx";

Das funktioniert wunderbar. Die Frage ist jetzt, wie erreiche ich es, dass wenn ich eine neue Konfiguration erstelle er nicht die existierende überschreibt sondern die neue unter neuem Namen hinzufügt?

Die XML Datei sieht so aus:


<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <Name>Default Configuration</Name>
  <Destination>xxxxx</Destination>
  <Host>asssf</Host>
</Configuration>

Die Informationen dort werden leider immer überschrieben, ich würde aber gerne hinzufügen anstatt überschreiben.

Geht das?

Danke!

02.11.2005 - 09:44 Uhr

Hat den schon wer gefunden? Hab von MSDN die Developer Edition installiert aber kann den Enterprise Manager nicht finden..

31.10.2005 - 08:27 Uhr

Gibts denn eigentlich keine Möglichkeit die Oberfläche dabei nicht zu blockieren?

27.10.2005 - 14:59 Uhr

Danke, etwa so?


FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");

27.10.2005 - 14:02 Uhr

Das Problem dabei, ich kann es nicht mit einem Hash Code machn denn es sind 2 verschieden Systeme.

Der eine PC generiert einen Code und der andere PC muss mit der gleichen Methode den gleichen Code generieren.

Kennt da jemand eine elegante Lösung?

Dankeschön!

26.10.2005 - 15:57 Uhr

Hab jetzt schon alle Variationen probiert aber ich find nicht die richtige, ich möchte prüfen ob mein object vom Typ System.DateTime ist.

object Value wird irgendwann im Code gesetzt, dann:


if (typeof(Value) == System.DateTime)
{
}

So gehts leider nicht, mit Value.GetType auch nicht.. wie macht man das korrekt?
Danke!

26.10.2005 - 14:12 Uhr

Hm stimmt habs auch grad gemerkt, das "Item" in VB ist eigentlich für die Füße 😠

26.10.2005 - 13:35 Uhr

In Visual Basic gibt es:

Page.Session.Item("CC") = CC

Das übergibt das komplette Objekt CC an die Session

In CSHARP gibt es kein Page.Session.Item nur Page.Session.Add und das kann kein komplettes Objekt übergeben. Gibts eine Möglichkeit in C# das komplette Objekt zu übergeben?

Danke!

20.10.2005 - 10:17 Uhr

Danke, das heißt also man benutzt so ein Control wenn man mehrere Controls miteinander vereinen will? Mir ist nur noch nicht klar warum man ein Button Control und eine Textbox zu einem Control zusammenfassen möchte. Schreibt man dann etwas auf einen Button und das wird auch noch ausgewertet wenn man ihn klickt? 😮

20.10.2005 - 09:47 Uhr

Ich hab folgenden Code gefunden:


public class CompositeControl : Panel
{
    protected override void CreateChildControls()
    {
        base.CreateChildControls();
        this.ID = "myID";
        Label lbl = new Label();
        lbl.ID = "innerID";
        lbl.Text = "This text is the meat of this control.";
        this.Controls.Add(lbl);
    }
}

Das sieht interessant aus aber ich hab keine Ahnung was das sein soll bzw. wie ich es verwende. Ich hab z.B. den Schnippsel mal in die Codebehind von Default.aspx geschrieben aber leider passiert gar nichts..

Vielen Dank für jegliche Hilfe mich aufzuklären 😮!

18.10.2005 - 09:23 Uhr

'SystemMonitor.Configuration.NotifierElementCollection.CollectionType': cannot change access modifiers when overriding 'public' inherited member 'System.Configuration.ConfigrationElementCollection.CollectionType'


		protected override ConfigurationElementCollectionType CollectionType
		{
			get { return ConfigurationElementCollectionType.BasicMapAlternate; }
		}

Ich hab leider keine Ahnung was das bedeutet bzw. wie ich es behebe

14.10.2005 - 13:49 Uhr

Danke, das heißt den Authentikationstyp (z.B. Admin) leg ich lieber in einer Session ab, da ist es sicher?

14.10.2005 - 13:22 Uhr

Ich hab ein HttpCookie in dem steht:

Authenticated
user=test&type=Guest
localhost/
1024
229214976
29744044
3153017808
29741227
*

Nun scheint es dummerweise möglich zu sein, type=Guest einfach durch type=Admin zu ersetzen. Genauso gut könnte man den user=test mit user=Admin ersetzen (sofern es das natürlich gibt etc.).

Das würde Usern ermöglichen ziemlich leicht Admin Rechte zu bekommen oder sich als anderer User auszugeben.

Was kann man generell gegen diese Problematik machen? Was soll ich im Cookie speichern damit ich weis welcher Benutzer es ist ohne dass er das Cookie einfach für seine Zwecke modifizieren kann?

Danke!

12.10.2005 - 11:21 Uhr

Original von Noodles
Was hast Du denn überhaupt vor?
Ist vielleicht ein DataGrid ein Alternative?

Nein, eigentlich nicht, denn die Tabelle wird später dynamisch erzeugt und ist an ein CMS gekoppelt.

Es geht eigentlich nur darum, ich hab z.B. diesen Tabellenausschnitt in der Codebehind:


        sb.Append("<table summary=\"Ihre Daten\">");
        sb.Append("<caption>Ihre Daten</caption>");
        sb.Append("<thead>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"col\">Info</th>");
        sb.Append("<th scope=\"col\">Value</th>");
        sb.Append("</tr>");
        sb.Append("</thead>");
        sb.Append("<tfoot>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"row\"></th>");
        sb.Append("<td colspan=\"4\">");    
--------->        sb.Append(ph + "editieren</td>");
        sb.Append("</tr>");
        sb.Append("</tfoot>");
        sb.Append("<tbody>");

An der Stelle mit dem Pfeil würde ich gern ein ASP.NET Control einfügen, nämlich den LinkButton damit ich das Event dann abfangen kann wenn jemand darauf klickt.

Oder ist das generell nicht möglich?
Danke!

12.10.2005 - 11:03 Uhr

Du meinst im Designer?
Das Problem ist ja, ich müsste die Stelle im codebehind festlegen, also genau hier:


sb.Append(ph + "editieren</td>");

Denn die Tabelle wird komplett in der codebehind erzeugt und das Control soll an einen Platz in der Tabelle..

Wenn ich den PlaceHolder jetzt im Designer setze, kann ich ihn ja nicht direkt an die gewünschte Stelle in der Tabelle setzen..

12.10.2005 - 10:34 Uhr

Danke für deine Antwort.
Hm


PlaceHolder ph = new PlaceHolder();

protected void Page_Load(object sender, EventArgs e){
            CreateFillTable(sb);
            LinkButton asd = new LinkButton();
            asd.Text = "ASD";
            
            ph.Controls.Add(asd);
}

    protected System.Text.StringBuilder CreateFillTable(System.Text.StringBuilder sb)
    {        
        sb.Append("<table summary=\"Ihre Daten\">");
        sb.Append("<caption>Ihre Daten</caption>");
        sb.Append("<thead>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"col\">Info</th>");
        sb.Append("<th scope=\"col\">Value</th>");
        sb.Append("</tr>");
        sb.Append("</thead>");
        sb.Append("<tfoot>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"row\"></th>");
        sb.Append("<td colspan=\"4\">");     
        sb.Append(ph + "editieren</td>");
        sb.Append("</tr>");
        sb.Append("</tfoot>");
        sb.Append("<tbody>");
}

Da kommt nur folgender Text bei raus:
System.Web.UI.WebControls.PlaceHoldereditieren

Was mach ich falsch?

12.10.2005 - 09:24 Uhr

    protected System.Text.StringBuilder CreateFillTable(System.Text.StringBuilder sb)
    {
        LinkButton lb = new LinkButton();
        lb.Enabled = true;
        lb.Text = "ASDFASF";

        sb.Append("<table summary=\"Ihre Daten\">");
        sb.Append("<caption>Ihre Daten</caption>");
        sb.Append("<thead>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"col\">Info</th>");
        sb.Append("<th scope=\"col\">Value</th>");
        sb.Append("</tr>");
        sb.Append("</thead>");
        sb.Append("<tfoot>");
        sb.Append("<tr>");
        sb.Append("<th scope=\"row\"></th>");
        sb.Append("<td colspan=\"4\">");
        Controls.Add(lb);
        sb.Append("editieren</td>");
        sb.Append("</tr>");
        sb.Append("</tfoot>");
        sb.Append("<tbody>");

Control.Add(lb); geht natürlich leider nicht:

Control 'ctl01' of type 'LinkButton' must be placed inside a form tag with runat=server.

Außerdem wärs wahrscheinlich sowieso an der falschen Stelle. Weis jemand wie man solche Controls korrekt in der Codebehind erstellt und auch noch an die richtige Stelle bekommt wenn man einen Stringbuilder benutzt?

Danke!

06.10.2005 - 20:46 Uhr

Oh ok, das löst mein Problem 🙂
Danke!

06.10.2005 - 18:59 Uhr

Also ich hab jetzt alle verschiedenen Möglichkeiten probiert, ich find keinen Weg bei der Klassen Instanz gleich einen Parameter mit zu übergeben.. ich hänge leider fest 😠

06.10.2005 - 15:41 Uhr

Original von cadi
Warum rufst du GetCookie() nicht im einfach constructor von Cookie auf?

public Cookie()  
{  
  this.GetCookie();  
}  
  

Dann hat jede instanz eines Cookie objectes initialisierte Werte.

Ja das dachte ich mir auch erst, aber GetCookie(string CookieName) <- hat einen Parameter und den kann ich dann nicht übergeben..

06.10.2005 - 15:21 Uhr

Was ich erreichen will ist, dass ich die Cookie Methode auch unabhängig benutzen kann, also dass ich cookieUser und cookieType überall erfragen kann. Jetzt ist nur die Frage ob ich das so korrekt gemacht hab. Das Problem z.B. ist, wenn ich die Cookie Klasse instanziere und vergesse GetCookie() aufzurufen, sind die beiden Strings die dort gesetzt werden wohl leer. Eigentlich sollte man die gar nicht callen können bevor GetCookie() nicht aufgerufen wurde.

Für ein wenig Hilfe wäre ich sehr dankbar!

Ich hab eine Class File Namens auth.cs.

In dieser Klasse auth hab ich folgende Methode:


public class auth
{

..code hier..

    public static string CheckAuthentication()
    {
        Cookie c = new Cookie();        
        
        if (c.GetCookie("Authenticated") == false)
        {
            _Authenticated = enAuthenticated.Guest;
        }
        else
        {
            switch (c.cookieType)
            {
                case "Admin":
                _Authenticated = enAuthenticated.Admin;
                break;

                case "Customer":
                _Authenticated = enAuthenticated.Customer;
                break;

                default:
                _Authenticated = enAuthenticated.Guest;
                break;
            }            
        }
        return _Authenticated.ToString();
    }
}

diese Methode ruft also die Methode der Klasse Cookie auf:


    public class Cookie
    {
        
        string iCookieUser;
        string iCookieType;

        public string cookieUser
        {
            get { return iCookieUser; }
            set { iCookieUser = value; }
        }

        public string cookieType
        {
            get { return iCookieType; }
            set { iCookieType = value; }
        }

        public bool GetCookie(string CookieName)
        {            
            HttpCookie cook = HttpContext.Current.Request.Cookies[CookieName];

            if (cook == null)
            {
                return false;
            }
            else
            {
                cookieUser = cook.Values["user"].ToString();
                cookieType = cook.Values["type"].ToString();
            }

            return true;
        }
    }

06.10.2005 - 13:55 Uhr

Ok, verstanden, dankeschön

06.10.2005 - 11:50 Uhr

Ich meinte anstatt:


public int Gewicht
{
   get { return iGewicht; }
   set { iGewicht = value; }
}

so:


public int Gewicht;

......

Gewicht = 3;

06.10.2005 - 11:44 Uhr

Vielen Dank

06.10.2005 - 11:43 Uhr

Du meinst warum man nicht einfach Gewicht = 123; benutzt?

06.10.2005 - 11:34 Uhr

Original von -acid-
Fehlt die auch in andren Projekten? Weil bei mir (WindowsApp) ist sie da...

Bei meinem WindowsApp ist sie auch da, aber beim WebProjekt fehlt sie..

06.10.2005 - 10:58 Uhr

Das Build wird gar nicht gezählt sondern muss manuell inkrementiert werden.

06.10.2005 - 10:51 Uhr

..blöde Frage, wo ist die assembly.cs in Visual Studio 2005 Beta2 (Web Projekt) abgeblieben? Oder muss man die nun selbst erstellen?

06.10.2005 - 10:28 Uhr

Kennt jemand einen guten WYSISYG Editor den man in seine ASP.NET Applikation einbinden kann?

28.09.2005 - 23:01 Uhr

Original von FZelle
Nur so eine Frage, warum kein DataSet, wenn Du schon mit Datenbanken arbeitest?

Ehrlich gesagt hab ich noch nie mit einem DataSet gearbeitet und wüsste auch nicht wie ich es anwende. Ich meide im Prinzip einige ASP.NET build in Features wie DataList und DataGrid weil sie mir meiner Meinung nach zu wenig Kontrolle bieten.

Für eine kurze Erklärung bzgl. eines DataSets in dem obigen Zusammenhang wäre ich dir dennoch dankbar!

Grüße

28.09.2005 - 19:51 Uhr

Ok danke

28.09.2005 - 19:32 Uhr

Im Moment hab ichs so:


        ArrayList sAlbum = new ArrayList();
        ArrayList sFolder = new ArrayList();
        ArrayList iOrder = new ArrayList();
        
        while (dr.Read() == true)
        {   
            sAlbum.Add(dr["Album"].ToString());
            sFolder.Add(dr["Folder"].ToString());
            iOrder.Add(Int32.Parse(dr["Order"].ToString()));         
        }

aber scheinbar ist ja ArrayList eher langsam?

Vorher hab ichs etwa so versucht:


string[] sAlbum;
string[] sFolder;
string[] iOrder;
int i = 0
        while (dr.Read() == true)
        {   
sAlbum[i] =    dr["Album"].ToString();
sFolder[i] =    dr["Folder"].ToString();
iOrder[i] = dr["Order"].ToString());         
i++
        }

Das funktionierte jedoch nicht, weil ich dafür die Dimension wissen müsste was eine zusätzliche Query erforderlich machen würde. Also der Compiler verlangt string[] salbum = new String[3] (z.B.)

Kann ich das irgendwie umgehn oder gibts einen besseren Weg? Danke![/csharp]

27.09.2005 - 21:33 Uhr

Sorry, dass ich nochmal frage, aber ich habs nun so gemacht


            Graphics grfxObj;
            System.Drawing.Image img = System.Drawing.Image.FromFile(myThumbPath);
            grfxObj = Graphics.FromImage(img);
            grfxObj.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            grfxObj.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
            grfxObj.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            grfxObj.DrawImage(img, 0, 0, 150, 113);

und erkenne ehrlich gesagt keinen Unterschied. (150 width 113 height ist atm. standard thumbnail size).

War das so richtig?
Danke!