Laden...
C
CoderboyPB myCSharp.de - Member
Softwareentwickler Paderborn Dabei seit 09.01.2008 327 Beiträge
Benutzerbeschreibung

Forenbeiträge von CoderboyPB Ingesamt 327 Beiträge

28.02.2013 - 18:57 Uhr

Danke. Das muss ich in einer ruhigen Stunde mal ausprobieren 😃

27.02.2013 - 06:12 Uhr

Ich hoffe, ich poste hier richtig.

Folgendes Problem:
Ich habe gerade mit Hilfe dieses Videos hier (http://www.youtube.com/watch?v=SZ2oKEnTh1s) IIS unter Windows 8 installiert.

Anschließend habe ich im IIS Manager (inetmgr) eine Anwendung mit einem virtuellen Verzeichnis hinzugefügt. Das Mapping passt, dessen habe ich mich mehrfach versichert.

Doch wenn ich es starten will (mal abgesehen davon, dass ich den 'Browse' Eintrag wie im Video gar nicht bekomme) bekomme ich folgende Fehlermeldung:

Die Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden.

OK, der Fall ist klar. Da fehlen irgendwelche Leseberechtigungen für die Web.config, nur warum, und WIE erteile ich die?
Sorry, aber der Systemintegrationsbereich war nie der Meinige, hier war ich immer von den Admins abhängig. Ist nicht gut, weiß ich selber, aber es so wie andere eine Lese- oder Rechenschwäche haben, habe ich die auf diesem Gebiet ...

Also meine Frage, was muss ich AUSSERDEM noch machen, was ich bisher noch NICHT gemacht habe? 😃

19.02.2013 - 15:28 Uhr

Wollte jetzt keinen neuen Thread dafür aufmachen, aber für Anfänger sehr zu empfehlen:

www.thenewboston.com

Der hat ne Youtube Playlist mit etlichen C# Videos, inklusive GUI Programmierung (Windows.Forms) aber auch etliche weitere Videos, sei es Java, Android, Objective C, iphone Programmierung etc.

reinschauen lohnt sich echt.

Sprache ist auch hier wieder englisch (Amerikaner, spricht sehr deutlich und verständlich, akzentfrei)

12.02.2013 - 13:40 Uhr

Hallo 😃

Schaut euch mal die Videos von diesem Kameraden an:
http://www.youtube.com/user/kudvenkat

Ich selbst habe bisher nur die SQL Videos gesehen, aber die sind KLASSE !!!
Ich denke mal, dass die anderen Themen ebenso gut bearbeitet sind, denn der Kerl hat es drauf Wissen zu vermitteln, der kann erklären!

Hoffe es gefällt euch. Würde mich echt freuen, der Community mal was zurück gegeben zu haben, und sei es nur diese Informations Resource.

10.02.2013 - 01:16 Uhr

SO, des Rätsels Lösung:

Der Primary Key war tatsächlich nicht auto increment.
Nicht, weil ich es nicht wusste, nein, ich habe im Gegensatz zu phpMyAdmin, die Einstellungsmöglichkeit nicht gesehen, und bin fälschlicherweise davon ausgegangen, dass dieses nun automatisch passiert ...

Das Microsoft diese Einstellungsmöglichkeit so gut versteckt hat, darüber darf durchaus diskutiert werden ...

Ich jedenfalls bin froh, dass das Beispiel nun läuft und ich habe wieder ne Menge dazu gelernt ...

In diesem Sinne: Was uns nicht umbringt, macht uns nur noch härter.

Danke an alle, die mir geholfen haben! 🙂

09.02.2013 - 15:02 Uhr

Ich habe die DbUpdateException jetzt in einem try catch Block abgefangen, aber diese gibt nur aus:

Fehler beim Aktualisieren der Einträge. Weitere Informationen finden sie in der internen Ausnahme.

Schön und gut, nur wie komme ich jetzt an diese weiteren Informationen, also dieser internen Ausnahme dran?
Im Netz habe ich nicht dazu gefunden.

Frage zu SQL Server: Wenn ich diesen goldenen Schlüssel angeklickt habe, und damit einen Primary Key erzeugt habe, erzeugt das dann auch das IDENTITY Schlüsselwort und damit eine AutoIncrement Spalte?

Denn wenn nicht, dann könnte ich mir vorstellen, dass der Primäre Schlüssel doppelt angelegt wird, der der neu erzeugte Eintrag nicht inkrementiert wird ...

Edit:
Habe gerade gelesen, dass bei SQLServer der Startwert bei Autoincrement 1 ist. Bei mir steht dort 0 ...

Ich glaube ich werde das Ganze später alles noch mal machen, und dann mit SQL Anweisungen, statt dem Assistenten von SQL Management Studio, welcher offenbar fehlerhaft ist ...

08.02.2013 - 19:36 Uhr

Vielen Dank, du hast mir echt schon mal sehr viel weiter geholfen, jetzt stehe ich aber vor einem anderen Problem:

Beim ersten Start funktioniert das Programm jetzt, beim zweiten Start bekomme ich aber jedesmal eine System.Data.Entity.Infrastructure.DbUpdateException, von der ich mir nicht erklären kann, wo diese herkommen soll.

Das Entity Modell jedenfalls zeigt eine 0,1 -> * Relation an, wobei der Stern auf der Seite von VbTeam steht, wo er ja auch hingehört.

Wo kann diese Exception her kommen?

07.02.2013 - 23:25 Uhr

verwendetes Datenbanksystem: SQL 2012 Express
EF: 5.0

ich habe folgende Datenbank 'Vereinsbereich' mit folgenden zwei Tabellen:

VbClubs (Club_ID, ClubName, ClubColors)
VbTeams (Team_ID, TeamName, Club_ID)
(die unterstrichenen sind die PKs)

Nun lasse ich aus dieser Datenbank ein Model formulieren, und bin überrascht, dass - im Gegensatz zum Video - schon mal keine Zuordnung erkannt wird. Also verbinde ich mit Hilfe des Werkzeugkastens die beiden Club_ID Properties mit einer 1 zu viele Zuordnung: 1 Club kann beliebig viele Mannschaften (1. Mannschaft, 2. Mannschaft, A-Jugend, B-Jugend, etc ...) haben.

Anschließend speicher ich das Ganze.

zum Schreiben benutze ich folgenden Code:


using (var db = new VereinsbereichEntities())
{
    var Verein = new VbClub()
    {
        ClubName = "SC Paderborn 07",
        ClubColors = "schwarz-blau"
    };

    var Mannschaft = new VbTeam()
    {
        TeamName = "1. Mannschaft"
    };

    Verein.VbTeam.Add(Mannschaft);
    db.VbClubs.Add(Verein);
    db.SaveChanges();
}

Nach dem Ausführen erhalte ich folgende Meldung:
VereinsbereichModel.msl(22,6) : Fehler 3024: Problem beim Mapping der Fragmente ab Zeile 22:Zuordnung für alle Schlüsseleigenschaften (Team_ID) von Ende VbTeam in Relationship VbClubVbTeam muss angegeben werden.

Was muss ich da anders machen? Ist der Sinn des Model Designers nicht eigentlich DER, dass er die Zuordnungen automatisch erkennt (immerhin habe ich die beiden zusammengehörigen Properties ja gleich benannt).

Irgendwie stehe ich echt auf dem Schlauch, da es nämlich in diesem Video:
http://www.youtube.com/watch?v=o-cV_fSNMqw
automatisch passiert. Allerdings benutzt der eine englische Version. Keine Ahnung, ob es für die deutsche Version andere Namenskonventionen gibt, und wenn ja welche?

Nachdem vorhin meine Datenbank herumgesponnen hatte, konnte ich das Video jetzt noch mal 1:1 nach vollziehen und bei 3:56, wo im Video eine Assoziation zwischen den beiden Entitäten erscheint, kommt bei mir KEINE.

Allerdings, noch mal, ich benutze ne DEUTSCHE Version, kann das daran liegen?

27.01.2013 - 03:44 Uhr

Irgendwie stehe ich gerade auf dem Schlauch:
MS bietet zig Versionen von SQL Server Express an, welche allesamt mit irgendwelchen kryptischen Nichts-sagenden Namen belegt sind.

Inzwischen habe ich ich mir ca. 2 GB an 'Datenmüll' (Diese Version ist mit ihrem System nicht kompatibel) heruntergeladen, ohne aber einen Treffer zu landen.

Deshalb meine Frage:

Welche Version (inklusive Subversion) brauche ich für einen Datenbank unter Windows 8 Pro (normales Windows, KEINE Server Version!)

Am meisten würdet ihr mir mit einem Link zur Downloadseite mit der Beschreibung 'es ist der n. Link in der Liste' helfen, denn wie gesagt, die Namen sind für mich alles böhmische Dörfer ...

Also noch einmal. Ich brauche eine SQLServer Express Version, welche mit

  • Windows 8 Pro
  • Visual Studio Desktop 2012 Express
    zu verwenden ist.

Danke 😃

24.01.2013 - 19:18 Uhr

Seit Version 4.0 gibt es nun Überladungen für bis zu 16 Argumenten.
Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>-Delegat

Stellt sich die Frage, ob jemals jemand eine Funktion mit 16 Parametern schreiben wird 😉
Also ich kann es mir NICHT vorstellen 😃

17.01.2013 - 14:59 Uhr

Mal ne Frage, ist Windows Forms jetzt eigentlich total depricated und verpönt, oder 'darf' man es immer noch verwenden?

Ich finde Forms irgendwie wesentlich einfacher und handlicher. Mit WPF werde ich nur bedingt warm.

Wie steht ihr zu diesem Thema?

17.01.2013 - 14:15 Uhr
  • Wirtschaftsinformatik ist imho ein Wirtschaftsstudium und kein Informatikstudium.

Dafür ist die Softwareentwicklerausbildung KEINE Informatikausbildung, sondern eine Wirtschaftsausbildung 😁

Und SO schließt sich der Kreis wieder ... 😭

12.01.2013 - 20:38 Uhr

Ja, ich hab Windows 8

12.01.2013 - 02:48 Uhr

OK, mal die Langversion, was ich vorhabe 😃

Es geht um folgendes Tutorial:
http://msdn.microsoft.com/en-us/library/windows/apps/br211380.aspx

In diesem steckt ein Fehler, da die DataContext Klasse später im Tutorial eine NullPointer Exception wirft.

Was ich nun vorhabe ist, die Klassen der Datei FeedData.cs in einer Konsolen Anwendung zu testen, um zu gucken, WAS die einzelnen Methoden überhaupt anschließend enthalten.

Das geht am Besten mittels einer Konsolenanwendung, da ich mich mit Windows 8 Store App Programmierung überhaupt noch nicht auskenne (deshalb mache ich ja das Tutorial), bei einer Konsolenanwendung aber kann ich mir die Daten, die ich gerne haben möchte problemlos ausgeben.

Deshalb der Versuch es mit Visual Studio 2012 Desktop zu machen.

Nochmal, bevor das wieder missverstanden wird:
Ich weiß sehr wohl was Nullpointer Exceptions sind, nur erschließt sich mir nicht, WARUM diese auftritt.

Ich habe den Code NICHT geschrieben, ich bin nur der 'Dumme', der gerne etwas lernen wollte, dass Tutorial 1:1 mitgemacht hat, und nun vor dem Fehler stehe, den ich nicht fabriziert habe, noch das nötige Insider Wissen habe, um ihn zu beheben ...

Ich habe Microsoft mal über den Kontaktlink unten auf der Seite kontaktiert. Mal gucken, ob das was kommt, oder ob es denen egal ist, dass in einem ihrer Online Tutorials ein Fehler steckt ...

Wie gesagt, für den Schüler ist es ne dumme Situation, wenn der Lehrer, von dem man es eigentlich erwartet, dass er es richtig macht, es schon falsch vormacht ...

12.01.2013 - 00:25 Uhr

Der Namespace ist mir bekannt, aber die using Direktive reicht NICHT.
Da muss man von Hand selber eine zugehörige Assembly einfügen - bloß weiß ich nicht wie diese heißt, und genau das war ja meine Frage ... 😃

11.01.2013 - 23:26 Uhr

Wie kann ich die
SyndicationClient
Klasse in einer Konsolenapplikation verwenden?

Welchen Assemblyverweis muss ich hinzufügen?

Bevor jetzt wieder irgendwelche Belehrungen kommen:

  • Ich habe die Suche benutzt und bekam 0.0 Ergbnisse
  • Ich weiß nicht zu 100%, ob die Frage hier hin gehört, aber letztendlich IST es ja eine Klasse, welche Netzwerkfunktionen bereit stellt. also ...
  • Falls es hier nicht hingehört, so tut es mir leid, aber es gibt Themen, die sind echte Grenzfälle und nicht 100% einer Kategorie alleine zuzuordnen. Dieses gehört leider wohl dazu ... 😦
10.01.2013 - 18:27 Uhr

Der sagt irgendwas von einer Nichtbehandelten Nullreference Exception und markiert mir

feed.Title.Equals(title))

mit gelber Hintergrundhinterlegung ein.

10.01.2013 - 18:20 Uhr

Ich glaube es gehört hier in dieses Thema, denn es handelt sich wohl um eine fehlerhafte LINQ Abfrage:

Und zwar geht es um folgendes Tutorial auf der Microsoft Seite
Part 5: Create a blog reader (Windows Store apps using C#/VB and XAML) (Windows)

Dort befindet sich gleich im ersten Codeblock (FeedData.cs) folgende Funktion:


public static FeedData GetFeed(string title)
{
    // Simple linear search is acceptable for small data sets
    var _feedDataSource = App.Current.Resources["feedDataSource"] as FeedDataSource;

    var matches = _feedDataSource.Feeds.Where((feed) => feed.Title.Equals(title));
    if (matches.Count() == 1) return matches.First();
    
    return null;
}

Dieser Code ist 1:1 von Microsoft kopiert. Ist natürlich schön blöd beim Lernen, wenn MS schon selber Fehler in seine Tutorial reinhaut ...

Was aber muss da anders gemacht werden? Hat jemand hier das Tutorial auch gemacht und ne Lösung gefunden?

11.12.2012 - 20:26 Uhr

Hallo, ich habe mit Notepad++ (Encoding: ANSI)
folgendes simple File erstellt:

Eins
Zwei
Drei
Vier
Fünf

Der Inhalt ist lediglich ein Dummy Text.

Nun lese ich das File wie folgt aus:


StreamReader streamReader = new StreamReader(testFile, Encoding.UTF8);
string line;
while((line = streamReader.ReadLine()) != null)
{
    Console.WriteLine(line);
}

Statt der Zeile 'Fünf' erhalte ich 'F?nf'

Ich habe auch schon andere Encoding Typen ausprobiert, nirgendwo wird mir ein ü ausgegben.
Wie bekomme ich die richtige Ausgabe?

Ich habe hier schon mal die Suche betätigt, aber die Beiträge dort konnten mir nicht weiterhelfen 😦

02.12.2012 - 18:08 Uhr

habe mir das mal angeschaut. TimeZoneInfo arbeitet noch mit der DateTime Klasse, statt der DateTimeOffset Klasse.

ich würde deshalb lieber so vorgehen:


class Program
{
    static void Main(string[] args)
    {
        DateTimeOffset newYork = DateTimeOffset.Parse("01.12.2012 01:00:00 -05:00");
        DateTimeOffset wellington = getByTimeZone(newYork, new TimeSpan(13,0,0));
        Console.WriteLine(newYork);
        Console.WriteLine(wellington);

        Console.ReadKey();
    }

    static DateTimeOffset getByTimeZone(DateTimeOffset sourceTime, TimeSpan targetOffset)
    {
        TimeSpan sourceOffset = sourceTime.Offset;
        TimeSpan timeDiff = targetOffset - sourceOffset;
        int diffHours = timeDiff.Hours;
        return new DateTimeOffset(sourceTime.AddHours(diffHours).DateTime, targetOffset);
    }
}

Damit würde ich für Wellington eine eigene DateTimeOffset Instanz bekommen, mit der aktuellen Ortszeit und zugehörigen UTC Offset, zum GLEICHEN Zeitpunkt, wie dem der QuellZeit.
Das Ganze setzt zwar die Kenntnis der UTC Zeit des Ziellandes vorraus, aber die kann man ja nachschlagen.

02.12.2012 - 00:51 Uhr

Thx.

Habe das eben erst gelesen. Werde mir das morgen mal anschauen. Bin jetzt zu müde. 😃

01.12.2012 - 18:31 Uhr

Ich spiele gerade mit der DateTimeOffset Klasse und Zeitzonen herum.

Nun habe ich folgendes Beispiel:


DateTimeOffset NewYorkZeit = DateTimeOffset.Parse("12:00 01.12.2012 -05:00");
DateTimeOffset PaderbornZeit = NewYorkZeit.ToLocalTime();
DateTimeOffset WellingtonZeit = new DateTimeOffset(NewYorkZeit.DateTime.AddHours(18), new TimeSpan(13, 0, 0));
Console.WriteLine("In New York ist es " + NewYorkZeit.DateTime.ToShortTimeString());
Console.WriteLine("In Paderborn ist es " + NewYorkZeit.ToLocalTime().DateTime.ToShortTimeString());
Console.WriteLine("In Wellington ist es " + WellingtonZeit.DateTime.ToShortTimeString());

Ausgang ist die New Yorker Zeit.
Während ich für meine lokale Zeit eine Methode habe, muss ich die Neuseeländer Zeit via 'Fußgängermethode' erzeugen.
Geht das nicht irgendwie auch einfacher, ohne dass ich die Zeitdifferenz von Hand drauf rechnen muss?

27.09.2012 - 14:32 Uhr

Danke euch Beiden 😃
Die Style-Eigenschaft werde ich mir als Alternativ merken, sollte die Color-Eigenschaft nicht vorhanden sein 😃

@inflames2K:
Normalerweise nutze ich auch die Suchfunktion, nur hatte ich es eilig und habe deshalb schnell die Frage abgesetzt, um die 'Zeit für mich spielen zu lassen'
Aber wie gesagt, normalerweise schaue ich dort zuerst.

25.09.2012 - 15:44 Uhr

Wie kann ich eine einzelne Zelle eines Data Grid Views einfärben?

Das das geht, habe ich letztens in einer Software gesehen, aber so sehr ich auch suche, finde ich keine Color-Eigenschaft im Cell Objekt ...

30.05.2012 - 05:02 Uhr

Und gleich noch ne Frage aus einem ähnlichen Bereich hinterher:

Ich versuche gerade ein Beispiel aus dem Buch ASP.NET 4.0 mit Visual C# 2010 von Hauer, Wenz, Samaschke und Kotz nach zu vollziehen. (S. 728)

Und zwar habe ich mit dem LINQ zu Klassen Designer eine DataContext Klasse angelegt.
Nun schreibt der Autor, wenn man diese Klasse im Rootverzeichnis der App anzulegen versuch würde, würde man einen Hinweis mit dem Vorschlag, dieses doch besser im App_Code Verzeichnis anlegen zu lassen.

OK, diesen Hinweis bekomme ich komischerweise nicht, also muss ich es im RootVerzeichnis anlegen, da ich beim Versuch es im App_Code Verzeichnis zu machen, die benötigte Dateiauswahl gar nicht erst bekomme ...

Also, wie gesagt, habe ich es im Root Verzeichnis angelegt und anschließend die *.dbml Datei per Drag und Drop händisch in das App_Code Verzeichnis verschoben (Die anderen beiden zugehörigen Dateien hat Visual Studio direkt mit verschoben.)

Nachdem ich dann in meiner Code Behind Datei den Namespace der Datenkontext Klasse hinzugefügt hatte, war das Ganze auch kompilierbar und startbar.

Jedoch gab es dann einen Laufzeitfehler bei der Ausführung mit dem Hinweis auf eine mögliche fehlende Assembly.

Also habe ich die Verschiebung wieder Rückgängig gemacht, also *.dbml und die zugehörigen Dateien wieder ins Root Verzeichnis und nun ging es ...

Irgendwie komme ich mir gerade etwas vera ...lbert vor:
Was soll der Mist, dass die da schreiben, man sollte unbedingt diese Dateien ins App_Code Verzeichnis packen, aber GENAU das, erzeugt einen Laufzeitfehler ... ?!?

Jemand ne Ahnung, was man da tun kann, damit die Anwendung auch mit der *.dbml (und den beiden zugehörigen Dateien) im App_Code Verzeichnis laufen kann?

30.05.2012 - 02:31 Uhr

Hallo, ich habe folgendes Problem:

Ich habe im App_Code Ordner eine Klasse Namens Kunden definiert:


namespace Linq1.App_Code
{
    public class Kunde
    {
         ... 

Der Namespace wurde dabei von Visualstudio mit diesem Namen so angelegt.

Nun möchte ich aus der Code-Behind Datei Default.aspx.cs auf die Klasse Kunde zugreifen, doch der Compiler unterstrichelt es mir als unbekannt:
(System Using-Direktiven sind hier weggelassen.)


using Linq1.App_Code;

namespace Linq1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
              List<Kunde> kundenliste = ... 
            }
        }
    }
}

Noch mal zusammengefasst: Der Zweite Codeauschnitt befindet sich im ROOT Verzeichnis der Applikation. In diesem befindet sich der App_Code Ordner und in diesem dann die Kunden.cs

Aber irgendwie stehe ich jetzt auf dem Schlauch. Wie mache ich die Klasse Kunden in der class_Default sichtbar?

Ich weiss, es ist ne blöde Frage, aber ich weiß es echt nicht, habe versucht nen Verweis hinzuzufügen, aber da kann man nur dll oder andere Typen einfügen, aber keine Klassendefinition ... 

04.05.2012 - 13:02 Uhr

Thanx 😃

04.05.2012 - 01:04 Uhr

Danke für die schnelle Antwort 😃

Verstehe ich das richtig, dass dieses Objekt automatisch bei Multipart Formular Daten (also z.B. Checkboxen oder multiple Select Boxen) mit übergeben werden, und deshalb von der Funktionssignatur erwartet werden, auch wenn man sie nicht verwendet?

04.05.2012 - 00:38 Uhr

Hallo 😃

ich habe in einem MS Tutorial folgende Funktion (MVC Anwendung) gefunden:


[HttpPost]
public ActionResult Edit(int id, FormCollection formCollection, string[] selectedCourses)
{
  // Hier unwichtiger Funktionsbody
}

Ich vermute ja, mal, dass es damit zu tun hat, dass es sich bei selectedCourses um Daten aus einer CheckBox Gruppe handelt, aber die genaue Bedeutung wird mir nicht klar, zumal formCollection auch im Funktionsbody überhaupt nicht vorkommt ...

In der HTML Seite mit dem Formular kommt formCollection auch nicht vor.

Scheint wohl irgendwie ein allgemeines Vorgehen zu sein.
Wäre mal jemand so freundlich und könnte mir das in ein zwei Sätzen erklären?
Danke

LG Mirco

17.05.2011 - 15:39 Uhr

Habs jetzt gefunden 🙂

Directory.Move() 🙂

Upsy Muro, du warst schneller als ich 🙂

Trotzdem vielen Dank !!! 👍

17.05.2011 - 15:11 Uhr

Hallo 😃

Wie kann ich Verzeichnisse umbennenen?

Irgendwie komme ich da nicht weiter. Dateien, klar, das klappt, aber Verzeichnisse kenne ich bisher nur eine Lösung: Altes Löschen, neues Anlegen, aber das geht ja nur mit leeren Verzeichnissen ...

Kann mir bitte jemand weiter helfen?

07.04.2011 - 14:02 Uhr

So, habe deinen Funktion noch mal eingebaut, da erhalte ich folgende Execption:

Der Eingabestream hat kein gültiges binäres Format. Die Startinhalte (in Bytes) sind: 44-69-65-20-52-61-79-6E-65-74-20-47-6D-62-48-20-62 ...

Habe es jetzt mit dieser Funktion gemacht, was jetzt auch funktioniert:


 public static string ConvertFromByteArray(byte[] data)
        {
            StringBuilder sbOut = new StringBuilder();

            foreach (char b in data)
            {
                sbOut.Append(b);
            }

            return sbOut.ToString();
        }

06.04.2011 - 14:00 Uhr

Hi Lars 😃

Habe das gerade mal ausprobiert, aber leider bekomme ich nur einen leeren String zurück 😦
Hast du irgendeine Idee, woran das liegen könnte?

Aber trotzdem Danke für deine Antwort 😃

LG Mirco

05.04.2011 - 18:36 Uhr

verwendetes Datenbanksystem: MySQL client version: 5.1.41

Hallo 😃
Ich brauche mal wieder eure erfahrene Hilfe:

Ich lese mittels der MySQLDriverCS Libaray eine Tabelle aus:


MySQLConnection conn = new MySQLConnection(new MySQLConnectionString("localhost", "egroupware", "root", "").AsString);
conn.Open();
MySQLDataAdapter myDataAdapter = new MySQLDataAdapter("SELECT news_date, news_headline, news_content, news_teaser FROM egw_news", conn);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet, "News_egroupware");
DataTable myDataTable = myDataSet.Tables["News_egroupware"];

foreach (DataRow row in myDataTable.Rows)
{
      Console.WriteLine(row["news_teaser"].ToString()); // --> System.Byte[];           
}

Das klappt auch soweit.

Problem nur: Während sich news_date (bigint) und news_header (varchar) ohne Probleme auslesen lassen, bekomme ich als Ausgabe für news_teaser und news_content : System.Byte[]

Was muss ich anders machen, um auch an diesen Text zu kommen?

21.03.2011 - 16:30 Uhr

Sorry wegen dem Bild. Hatte das mit dem Bild-Hoster zwar gelesen, und deshalb nur die URL eingefügt, ohne zu verlinken. Das hatte das Forum dann automatisch gemacht.
Dachte es wäre so OK, weiss jetzt aber bescheid 😃

HDR=YES hatte ich auch schon versucht, hatte aber nicht geklappt.

Jetzt allerdings klappt es: Wichtig: der Wert aus id muss nach double gecastet werden und nicht int. Dann klappt es auch.

21.03.2011 - 15:04 Uhr

Hallo, ich habe aus dem Netz folgendes Codestück:


string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\Users\\Coderboy\\Downloads\\Witze2.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=NO\"";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter("SELECT * FROM [Tabelle1$]", strConn);
            
            DataSet myDataSet = new DataSet();
            dataAdapter.Fill(myDataSet, "WitzDesTages");
            DataTable dataTable = myDataSet.Tables["WitzDesTages"];

            var query = from r in dataTable.AsEnumerable()
                        select new
                        {
                            id = r.Field<int>("id"),
                            Witz = r.Field<String>("witz")
                        };

            foreach (var item in query)
            {
                Console.WriteLine(item.id + " : " + item.Witz);
                Console.WriteLine();
            }

Als Excel File habe ich folgendes verwendet:
http://img684.imageshack.us/img684/1622/imagehzw.jpg

Zur Erklärung: Ich habe die Kopfzeile mittels des Fixieren Befehls fixiert., zu dem die Spalten noch umbenannt, aber dennoch bekomme ich immer die Fehlermeldung, dass die Spalte 'id' nicht zur Tabelle 'WitzDesTages' gehört.

Kann mir da jemand weiterhelfen? Ich jedenfalls bin inzwischen, nach dem ich zahlreiche Optionen ausgetestet habe, mit meinem Latein am Ende. 🙁

09.09.2010 - 15:44 Uhr

Jetzt habe ich folgendes gemacht, aber es funktioniert immer noch nicht:


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int x = 0; x <= 200; x++)
            {
                changeColor(ovalShape1, x);
                Thread.Sleep(500);
            }
        }

        protected delegate void  MethodChangeColor (OvalShape os, int iColor);

        private void changeColor(OvalShape os, int iColor)
        {
            if (this.InvokeRequired)
            {
                Invoke(new MethodChangeColor(changeColor), os, iColor);
                return;
            }
         
            os.FillColor = Color.FromArgb(255, iColor, 0);
            os.FillGradientColor = Color.FromArgb(255, 0, iColor);
        }
    }
}

Was mache ich falsch ?

07.09.2010 - 17:55 Uhr

Folgendes Beispiel habe ich gebaut (Gibt keinen Sinn, einfach nur zum Austoben)


private void Form1_Load(object sender, EventArgs e)
        {
            for (int x = 0; x <= 255; x++)
            {
                ovalShape1.FillColor = Color.FromArgb(255, x, 0);
                ovalShape1.FillGradientColor = Color.FromArgb(255,0, x);
                for (int i = 0; i <= 10000; i++ ) // Verzögerungsschleife
                {
                }
                ovalShape1.Update();
            }
        }

Zur Erklärung: Die Füllmethode Gradient wurde über den Objekteigenschaftenexplorer gesetzt.

Aber warum wird nicht bei jedem Schleifendurchlauf die Farbe geändert ?

17.11.2009 - 17:41 Uhr

Ich weiss. Macht ja, wie ich schon geschrieben habe, auch Sinn.

Problem ist es nicht mehr. Aus der Erfahrung habe ich gelernt. Sowas passiert einem kein zweites Mal. So ein Zirkus setzt sich im Hirn fest ... :evil:

17.11.2009 - 17:35 Uhr

Das war das erste mal, dass ich ein Programm unter Vista kompiliert habe. Entwickelt wurde das Programm zu 90% unter XP und da durfte man das halt ...

Hatte Vista zwei Tage lang, danach habe ich wieder XP drauf gemacht, weil Vista einfach Grütze ist ...

17.11.2009 - 17:25 Uhr

Oh doch:
Wenn die Fehlermeldung die Datei nennen würde, also in diesem Fall C:\ausgabe.xls, dann hätte ich bescheid gewusst.

17.11.2009 - 16:33 Uhr

Hab das Rätsel jetzt gelöst:

Man darf unter Vista wohl nicht mehr direkt aufs Rootverzeichnis von C: bzw. der Systempartition schreiben (OK, aus Sicherheitsaspekten durchaus sinnvoll, denn sonst hätte man ja im Hintergrund eine bösartige batch Datei anlegen können, und dieses Programm mit irgendeinem netten Gimick tarnen können ...)

Weniger sinnvoll ist allerdings die Fehlermeldung von Microsoft, die irgendwas von einer WriteProtection Verletzung auf C:&lt;irgendeine Zahl> sagt ...
Würde sich MS hier klar ausdrücken, hätte man diesen Fehler wesentlich schneller finden können ... 🙄

Ein anderes Problem war, dass Excel in der Version 2007 beim Öffnen von Makrodateien (*.xslm) im gleichen Verzeichnis irgendwelche temporären korrupten (im Sinne von unlesbar) Dateien mit einer gültigen Excel-Endung erzeugt.
Wenn das Programm versucht diese einzulesen, schmeißt es eine COM-Exception, welche ich nun abfange und damit Ruhe habe. 🙂

Nun scheint das Programm endlich zu laufen, ich selbst habe jedenfalls - so sehr ich es auch versucht habe - keinen Programmabbruch mehr hinbekommen. 😁

29.10.2009 - 17:25 Uhr

Hallo

Ich habe Windows XP, Visual Studio 2008, sowie Office 2003.
Unter diesen Bedingungen habe ich ein Programm erstellt, welches auf die Excel COM Objekte zugreift.

Nun läuft auf dem Zielsystem Windows Vista und Office 2007.

Nach dem das Programm fehlerfrei anfängt und ca. die Hälfte Schleife abgearbeitet hat, erfolgt folgende Fehlermeldung:

_
nformationen über das Aufrufen von JIT-Debuggen

anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************

System.Runtime.InteropServices.COMException (0x800AC472): Ausnahme von HRESULT: 0x800AC472

bei System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)

bei Microsoft.Office.Interop.Excel.Range.set__Default(Object RowIndex, Object ColumnIndex, Object )

bei ExcelListe.Form1.copyZelle(Worksheet sheetSource, Worksheet sheetTarget, String xSource, Int32 ySource, Int32 xTarget, Int32 yTarget)

bei ExcelListe.Form1.copyZeile(Worksheet sheetSource, Worksheet sheetTarget, Int32 posSource, Int32 posTarget)

bei ExcelListe.Form1.createExcelDoc()

bei ExcelListe.Form1.button1_Click(Object sender, EventArgs e)

bei System.Windows.Forms.Control.OnClick(EventArgs e)

bei System.Windows.Forms.Button.OnClick(EventArgs e)

bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)

bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

bei System.Windows.Forms.Control.WndProc(Message& m)

bei System.Windows.Forms.ButtonBase.WndProc(Message& m)

bei System.Windows.Forms.Button.WndProc(Message& m)

bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Geladene Assemblys **************

mscorlib

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.  

ExcelListe

Assembly-Version: 1.0.0.0.  

Win32-Version: 1.0.0.0.  

CodeBase: file:///C:/Users/p.frischetto/AppData/Local/Temp/Temp1_ExcelListe2.zip/ExcelListe.exe.  

System.Windows.Forms

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.  

System

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.  

System.Drawing

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.  

Microsoft.Office.Interop.Excel

Assembly-Version: 12.0.0.0.  

Win32-Version: 12.0.4518.1014.  

CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.Office.Interop.Excel/12.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll.  

mscorlib.resources

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.  

System.Windows.Forms.resources

Assembly-Version: 2.0.0.0.  

Win32-Version: 2.0.50727.1434 (REDBITS.050727-1400).  

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.  

************** JIT-Debuggen **************

Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der

Konfigurationsdatei der Anwendung oder des Computers

(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.

Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>

&lt;system.windows.forms jitDebugging=&quot;true&quot; /&gt;  

</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten

Ausnahmen an den JIT-Debugger gesendet, der auf dem

Computer registriert ist, und nicht in diesem Dialogfeld behandelt.

_

Nun meine Frage: Was will mir der Rechner damit sagen ? Ich interpretiere das so, dass ihm die Com Komponente für 2003 fehlt. Liegt es daran ?

22.10.2009 - 14:02 Uhr

Hey, Super !!!
Vielen, vielen Dank !!! 👍 👍 👍

21.10.2009 - 17:01 Uhr

Hallo

Ich weiss, mein Thread Titel ist etwas schwamming ausgedrückt , also hier noch mal eine ausführlichere Schilderung meines Problems:

Nachdem ich ein Excel Dokument eingelesen habe, möchte ich eine Zelle auslesen, auf welche ich vorher folgende Excel-Funktion anwenden möchte:

=TEXT(A2;"MM ")
(Erklärung: Sie soll mir aus dem Datum, was in A2 steht, den Monat extrahieren und zurück geben)
Das Ergebnis der Funktion soll - wenn es nicht direkt zurück gegeben werden kann - in Zelle C20 stehen, von wo ich es dann auslesen würde.

Laut MSDN gibt es eine Formula - Eigenschaft oder Funktion, nur ist dessen Benutzung leider nicht weiter dokumentiert, bzw. zumindest nicht so, dass man sie findet ...

Wäre Nett, wenn mir da jemand helfen könnte, denn daran hängt derzeit das gesamte Projekt fest ... X(

17.04.2009 - 12:28 Uhr

Merci Beaucoup !

Ich habe das schon wie blöde gesucht. Naja, irgendwie schon ein bissel unvorteilhaft, dass es sich bei der Express-Version an anderer Stelle befindet und auch anders heißt ...

16.04.2009 - 15:19 Uhr

Ganz 'dumme' Frage:
Wo finde ich das in der Professionel Edition von 2008 (englische Version) ?

Habe hier das ASP.NET 2008 Buch aussem Addison Wesley Verlag (Hauser, Wenz, Samaschke, Kotz), nur bezieht sich deren Beschreibung auf die Express-Edition ... 🙁

20.01.2009 - 23:34 Uhr

Jau hat funktioniert.

Der Fehler war übrigens, ein fehlender Eintrag in der web.config ...

Aber darauf musste bei dieser nichtssagenden Fehlermeldung erst mal kommen ... 🤔