Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Perhalo
Thema: Identifikation gleicher Spalten bei zweifachen LEFt JOIN
Am im Forum: Datentechnologien

Super danke! Manchmal kommt man echt auf die simpelsten Ideen nicht.

Ich habs gerade auch noch mit UNION ALL versucht. Das geht nicht!

Thema: Identifikation gleicher Spalten bei zweifachen LEFt JOIN
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <SQL>

Hallo,

ich möchte die Datensätze aus meiner Datenbank mit Hilfe eines dataGrids in einer WPF Umgebung darstellen. Das klappt soweit auch ganz gut. Leider gibt es in der Datenbankstruktur bei einigen Tabellen die Eigenheit, dass sie zweimal auf dieselbe Tabelle verweisen. Ich kann leider gerade nicht daruf kommen wie ich diese Verweise unterscheiden kann.


            SqlConnection con = new SqlConnection();
            con.ConnectionString =constring;
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText =   "SELECT ?? FROM tblMessmittel AS MM " +
            "LEFT JOIN tblPersonen AS P ON(MM.Verantwortlich_ID=P.ID AND MM.Vertreter_ID=P.ID) ";

            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cmd);

            da.Fill(ds);

            dataGrid1.ItemsSource = ds.Tables[0].DefaultView;

Ich möchte eigentlich nur eindeutig P.Nachname von jeweils dem Verantworlichen und dem Vertreter im SELECT bekommen, damit mein dataGrid diese anzeigen kann.

Ich hoffe mir kann da jemand weiterhelfen.
Danke im Vorraus und Grüße
Perhalo

Thema: Dataset sortieren
Am im Forum: Datentechnologien

Wenn du ein Beispiel oder einen Link zu einem Beispiel hast wie ich über den sortierten View auf einzelne Einträge zugreifen kann, wäre ich Dir unendlich dankbar.

Ich benutze kein GridView oder ähnliches, sondern muss die Daten direkt zuweisen können. Daher schien mir der Zugriff über ein Dateset und Tableadapter so elegant. Allerdings glaub ich langsam, dass mir das Sortierproblem dabei das Genick bricht X(

Thema: Dataset sortieren
Am im Forum: Datentechnologien

Zitat von FZelle
@Perhalo:
Du musst auch nicht das DataSet sortieren sondern die SpurSturzDaten DataTable.
Und die hat einen DefaultView ( DataView ).

Hi,

danke für den Tipp. Allerdings hatte ich das gestern als letztes auch schon versucht. Auf folgende Art und Weise nach dem Insert eines neuen Eintrages:


typwerteDataSet.SpurSturzDaten.DefaultView.Sort = "TYP_NR";

Allerdings bin ich mir nicht ganz sicher, ob dieser Befehl den View nur für z.B. ein Datagrid ändert oder ob er die Einträge tatsächlich umindiziert. Letzteres brauche ich, da ich über den Index auf die Einträge und Reihenfolge zugreife.

Thema: Dataset sortieren
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: Access

Hallo,

das Fenster an dem ich gerade arbeite stellt die Datensätze einer Access Datenbank dar. (recht viele Einträge) D.h. ich habe sehr viele Textboxen und mir unten eine Navigationsleiste programmiert. (Mit +, - , insert, delete,...)

Dies habe mich mit Hilfe eines Datasets gemacht, da mir der Datenzugriff auf die einzelnen Einträge dort extrem angenehm erscheint: (Bsp.)


...

TB_Bezeichnung.Text = typwerteDataSet.SpurSturzDaten[index].TYP_BEZEICHNUNG.ToString();

...

Mein Problem ist jetzt, dass ich es nicht hinbekomme die Datensätze nach dem hinzufügen eines neuen Typs nach der Typnummer zu sortieren. Es wird natürlich erstmal nur nach dem Index, welcher der Erstellungsreihenfolge zu Grunde liegt sortiert.

Danke für jede Hilfe oder Anregung
Grüße
Perhalo

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Hi,

danke für die ganzen Antworten. Ich hab gar nix versucht zu mischen. Ich hab mir einfach nur von VS2012 eine WebForms Vorlage erstellen lassen. (wie gesagt: totaler Anfänger)

Inzwischen habe ich das Problem gefunden:

    <% if (false) { %><%--Designer support--%>
    <link runat="server" href="~/Content/Site.css" rel="stylesheet" />
    <% } %>

Diese if-Abfrage (wie erwähnt aus der Vorlage von VS) hat verhindert, dass die Styles geladen werden. Nachdem ich Sie entfernt hatte, lief es sofort.

Jetzt muss ich "nur noch" meine Benutzerverwaltung hinbekommen und gut is

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Also die Bilder funktionieren jetzt...gott weiß wieso. Ich hab nichts an den Pfaden oder sonstwie geändert, eigentlich hab ich das Projekt nur nochmal neu auf den IIS gepackt.

Leider gehen die Styles immer noch nicht, weshalb immer noch alles einfach hintereinander weggeschrieben wird. Da die Pfade ja richtig zu sein scheinen (sonst würde er die Bilder ja nicht finden) und die Site.css auf dem Server zu finden ist (hab sie manuell aufgerufen), bin ich doch etwas ratlos.
Kann das an irgendwelchen Einstellungen liegen. Ich benutze IIS 6.1, da ich über keine neuere Version von Windows Server verfügen kann.

Prinzipiell sieht mein Site.Master wie folgt aus:

<head id="Head1" runat="server">
    <meta charset="utf-8" />
    <title>
        <%: Page.Title %>
        - 123 GmBh</title>
    <% if (false) { %><%--Designer support--%>
    <link runat="server" href="~/Content/Site.css" rel="stylesheet" />
    <% } %>
    <asp:PlaceHolder runat="server">
        <%: Styles.Render("~/Content/themes/base/css", "~/Content/css") %>
        <%: Scripts.Render("~/bundles/modernizr") %>
    </asp:PlaceHolder>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width" />
    <asp:ContentPlaceHolder runat="server" ID="HeadContent" />
</head>

Falls du oder jemand anders noch eine weitere Idee hat, wäre ich sehr dankbar ;)

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Ich verstehe das Prinzip schon. (glaube ich zumindest :D) Trotzdem denke ich nicht, dass dies mein Problem ist. Hier ist eine ganz gute Auflistung zu der Thematik. Ich denke ich habe da den 2. Fall:

http://www.akademie.de/wissen/html-lernen-1-grundlagen/relative-pfade



Wenn ich jetzt auf

http://localhost/MyWebTest/Contact.aspx

bin und mein Bild in

C:\inetpub\wwwroot\MyWebTest\Images\123.gif

liegt, ist doch die Addressierung mit

ImageUrl="~/Images/123.gif"

genau richtig, oder versteh ich da irgendwas grundlegend falsch?

Auf einen WebServer hat das übrigens schon funktioniert. Nur brauch ich das auf einem Server auf dem Computer.

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Ich hab mal den Tip genutzt und den Code über Firefox angeschaut. Für das ein Bild steht da jetzt folgendes:

<a id="TopHyperlink" href="http://www.123.de/" target="_new"><img src="Images/123.gif" alt="" /></a>

und im Quellcode
<asp:HyperLink ID="TopHyperlink" runat="server" ImageUrl="~/Images/123.gif" NavigateUrl="http://www.123.de/" Target="_new"></asp:HyperLink>

Das ist doch eigentlich richtig, oder nicht? Meine Datenbank findet er unter

@"~\App_Dat\Typwerte.mdb"
.

Aber wieso zeigt er dann die Bilder und Farben nicht an?

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Oh, ich habe schon sehr viel versucht, mach dir da mal keinen Sorgen :) Die ganze Thematik scheint nur extrem groß und kompliziert zu sein, da weiß man irgendwann gar nicht mehr wo man ansetzen soll. Ich wäre schon sehr dankbar, wenn mir jemand sagen kann, in welcher Richtung ich weiterschauen muss.

Ich benutze WebSite für ASP.NET-Web-Forms-Anwendung.

Es verwundert mich halt, dass er das Design und die Bilder findet, wenn ich das Pojekt aus Visual Studio starte. Veröffentliche es aber auf localhost, ist der Hintergrund komplett weiß und alles verschoben bzw. falsch angeordnet.

Das mit der Datenbank hat jetzt geklappt, ich hatte nur vergessen sie dem Projekt hinzu zu fügen, weshalb sie im Veröffentlichungsordner nicht vorhanden gewesen ist.

Thema: Projekt lokal veröffentlichen [ASP.NET 4.5]
Am im Forum: Web-Technologien

Hi,

da ich noch etwas neu bin, bitte ich meine Anfängerfrage zu entschuldigen.

Ich habe eine fertiges ASP.NET 4.5 Projekt. Dies habe ich mit VS 2012 RC entwickelt und möchte dies nun auf einem Computer laufen lassen. Im Idealfall auch aus dem Netzwerk zugreifbar, aber auf einem Computer würde mir schon reichen.

Ich habe jetzt diesen Leitfaden (Gewusst wie: Bereitstellen eines Webanwendungsprojekts mit der One-Click-Veröffentlichung in Visual Studio) verfolgt und kann über localhost/Test im Browser auf meine Anwendung zugreifen.

Allerdings:

1) Das ganze Design ist weg, keine Farben, Bilder, Annordnungen, etc. vorhanden
2) Die Anwendung kann nicht mehr auf die Datenbank im Haupstverzeichnis zugreifen

Daher meiner Fragen:

Wie kann ich die Fehler beheben? Oder ist das überhaupt der richtige Weg? Wie gesagt: Die Anwendung soll eigentlich nur auf einem Computer laufen und über einen Browser aufzurufen sein.

Danke im Vorraus
Perhalo

Thema: Anfängerfrage WebHosting: Funktionalität geht verloren
Am im Forum: Web-Technologien

Zitat von chilic
Eine DB zu einem Webservice hochladen der sie dann ausliest, die Daten zum Client schickt, die geänderten wieder zum Server und die ganze DB dann wieder zurück?!
Zitat von Perhalo
Leider muss ich das als WebAnwendung realisieren, wurde so beauftragt. ;)
Ehrliche Worte von mir.
Dann rate ihm zu etwas anderem.
Dein Auftraggeber ist dann evtl. froh dass jemand sich auskennt und ihm keinen Murks macht, oder er ist bald pleite.

Naja, ich bin hier nur Werkstudent und pleite gehen die wohl so schnell nicht wegen so einem kleinem Gimmick. Ich bin nur leider zur falschen Zeit am falschen Ort gewesen und hab auch noch gesagt, dass ich C# kann und mich mit VS etwas auskenne :D

Der Auftrag war halt so:

-Kunden sollen von überall her ihre Datenbanken editieren können(daher Web)
-Viele Werte dürfen aber nicht verändert werden können oder nur in einem ganz bestimmten Wertebreich (geht schnell etwas teures kaputt). Daher haben Sie auch keinen direkten Zugriff auf die Datenbanken. Das soll nur über diese Anwendung oder unsere Mitarbeiter im Notfall vor Ort möglich sein

Daher scheint mir das Upload/Download Prinzip eigentlich ganz geeignet zu sein. Wenn das keine Webanwendung ist, müssten die Kunden immer noch das Programm installieren und blablup. Da geht halt immer was schief :D Oder seht ihr das ganz anders?

Thema: Anfängerfrage WebHosting: Funktionalität geht verloren
Am im Forum: Web-Technologien

Danke sehr,

der Tipp hat mir schonmal wirklich sehr geholfen.

Ich hab das jetzt gelöst indem ich die Datenbank zum editieren hochladen lasse und dann die Möglichkeit zum herunterladen der neuen Datenbank gebe.

Leider muss ich das als WebAnwendung realisieren, wurde so beauftragt.

Warum die Benutzererstellung nicht funktioniert, verstehe ich leider immer noch nicht. Der Code sieht eigentlich ganz schlüssig aus:


        protected void RegisterUser_CreatedUser(object sender, EventArgs e)
        {
            FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

            string continueUrl = RegisterUser.ContinueDestinationPageUrl;
            if (String.IsNullOrEmpty(continueUrl))
            {
                continueUrl = "~/";
            }
            Response.Redirect(continueUrl);
        }

Thema: Anfängerfrage WebHosting: Funktionalität geht verloren
Am im Forum: Web-Technologien

Hi,

ich bin noch neu in der Programmierung von WebAnwendungen. Daher kann ich mir gut vorstellen etwas fundamentales nicht richtig verstanden zu haben und wäre dankbar für jede Hilfe.
Zu meinem Problem:

Ich erstelle eine recht simple Anwendung mit der der Nutzer den Pfad seiner Datenbank eingeben kann, um Sie zu editieren. Starte ich meine HP via Compiler funktioniert nun alles genau so wie ich das möchte. Ich kann den Pfad eingeben und die Daten bearbeiten und speichern.

Jetzt habe ich das Projekt(net 4.5) via VisualStudio2012 auf DiscountASP.NET Labs - .NET 4.5
veröffentlicht. Es ist jetzt nicht mehr möglich auf die Datenbank zuzugreifen. Er gibt immer den Fehler, dass der Pfad ungültig sei. (C:\...).

Des Weiteren funktioniert auch die Benutzererstellung überhaupt nicht. Ich hab einfach die vorinstallierte Standardbenutzerverwaltung erstmal gelassen.
Fehler dabei:

Server Error in '/' Application.
The system cannot find the file specified



[Win32Exception (0x80004005): The system cannot find the file specified]
...
[ProviderIncompatibleException: The provider did not return a ProviderManifestToken string.]
...

Danke für Eure Hilfe
Grüße

Thema: Trotz try/catch mit Response.Write wird ASP.NET-Anwendung beendet
Am im Forum: Web-Technologien

Jo,

halt jedesmal, wenn ich das entprechende Formular öffnen will, wird Page_Load ausgeführt. Mit einer falschen Addresse für die Datenbank bekomme ich den Fehler

Serverfehler in der Anwendung /.
Datei 'C:\Tpwerte.mdb' nicht gefunden.


Ausnahmedetails: System.Data.OleDb.OleDbException: Datei 'C:\Tpwerte.mdb' nicht gefunden.


und so weiter...


Was ganz interessant ist:

Habe jetzt weitergemacht und versuche auf meine TemplateFields zuzugreifen. Wenn ich einfach nur das hier dazufüge:



            try
            {
                AccessDataSource1.DataFile = AccessPfad;
                Einzelspur_LI_SOLL = ((TextBox)GridView1.FindControl("TextBox4")).ReadOnly;
               }

wird die Exception ausgelöst und ich erhalte das gewünschte Ergebnis. Allerdings triggert er auf den Fehler der neuen Zeile und nicht auf den der alten...

Add Coffeebean: Wenn ich die Verbindung richtig einstelle geht es ohne Probleme. Allerdings kann es ja sein, dass der Benutzer etwas falsches als Pfad oder eine falsche Datenbank eingibt. Das möchte ich natürlich abfangen. Darum möchte ich, dass die Anwendung nicht einfach abschmiert, wenn der Benutzer eine falsche Eingabe macht.

Thema: Trotz try/catch mit Response.Write wird ASP.NET-Anwendung beendet
Am im Forum: Web-Technologien

Ich glaube der Fehler liegt woanders. Hauptsächlich daran, dass er den catch Block überhaupt nicht ausführt. Das vermute ich, weil alles was ich in der global.asax.cs unter nicht behandelten Fehlern ausführen lasse, er auch macht.

Das funktioniert zwar, so dass ich den Benutzer bei einem Fehler immer wieder zu derselben Stelle zurückführen kann. Allerdings möchte ich ja hier auch anzeigen können, dass ein falscher Pfad eingegen wurde bzw. eine nicht geeignete Datenbank vorliegt.

Thema: Trotz try/catch mit Response.Write wird ASP.NET-Anwendung beendet
Am im Forum: Web-Technologien

Hi,

bei meinem Programm soll der Benutzer die Addresse seiner Datenbank eingeben können. D.h. dabei können Fehler durch die Benutzereingabe auftreten, die ich abfangen möchte. Ich hab das jetzt versucht so umzusetzen:



        public static string AccessPfad = "C:\\Tpwerte.mdb";

        protected void Page_Load(object sender, EventArgs e)
        {
            
            try
            {
                AccessDataSource1.DataFile = AccessPfad;
            }

            catch (Exception a)
            {
                // Give the user some information, but                                  
                // stay on the default page
                Response.Write("<h2>Default Page Error</h2>\n");
                Response.Write("<p>Provide as much information here as is " +
                  "appropriate to show to the client.</p>\n");
                Response.Write("Return to the <a href='Default.aspx'>" +
                    "Default Page</a>\n");
                Response.Write(a);
                    
            }
        }

Allerdings wird meine alternative Fehlerseite nicht aufgerufen, sondern weiterhin der Fehler angezeigt und die ASP Anwendung kann nicht weitergeführt werden.

Kann mir da jemand weiterhelfen?
Grüße und Danke im Vorraus

Thema: DataGrid aktualisieren ohne neuzeichnen
Am im Forum: GUI: WPF und XAML

Hi,

mein Problem lässt sich ja schon gut aus dem Topic entnehmen.

Ich stelle in meinem Datagrid bitweise Daten aus Variablen dar, die ständig aktualisiert werden. An sich funktioniert das auch - zur Zeit nutze ich .refresh() dafür - allerdings soll das DataGrid nun, wenn der Benutzer eine Row anwählt, diese Row auch markiert lassen.
Da bei den Umsetzungen, die mir bisher nur eingefallen sind, aber das Grid bei jeder Aktualisierung komplett neu gezeichnet wird, verliert diese Row sofort wieder ihren Focus.

Hat da jemand eine Idee zu?

MfG
Perhalo

Thema: Lokalisierung und Unterverzeichnisse (resourcedictionary)
Am im Forum: GUI: WPF und XAML

Problem gelöst.

-Die Dateinamen durch den kompletten Pfad ersetzen
- \\ statt \ im string format benutzen

Thema: Lokalisierung und Unterverzeichnisse (resourcedictionary)
Am im Forum: GUI: WPF und XAML

Hi,

eigentlich klappt meine Lokalisierung mit der nachfolgenden Funktion wunderbar. Allerdings nur, wenn ich die Wörterbücher im Hauptverzeichnis haben. Allerdings habe ich so viele davon, dass ich Sie in Unterverzeichnissen lagern möchte/muss. Hat jemand eine Idee was ich ändern muss damit die folgende Funktion auch richtig funktioniert, wenn meine Wörterbücher im Unterverzeichnis

sources\Texte\DatenExportWindow\

gelagert sind? Es wird zwar der Ländercode korrekt geändert (das sehe ich an der Zeitanzeige im Hauptfenster), allerdings werden die Labels weiterhin auf deutsch geladen.

Grüße
Perhalo


        public void ChangeLanguage(string culture)
        {
            // Diese Funktion ändert bzw. legt die Culture des gesamten Programms fest
            // Alle Woerterbuecher finden   
            List<ResourceDictionary> dictionaryList = new List<ResourceDictionary>();
            foreach (ResourceDictionary dictionary in
                           Application.Current.Resources.MergedDictionaries)
            {
                dictionaryList.Add(dictionary);
            }

            // Woerterbuch waehlen
            string DatenExportCulture = string.Format("DatenExportWindow.{0}.xaml", culture);

            ResourceDictionary DatenExportDictionary =
                    dictionaryList.FirstOrDefault(d => d.Source.OriginalString == DatenExportCulture);

            if (DatenExportDictionary == null)
            {
                // Wenn das gewuenschte Woerterbuch nicht gefunden wird,
                // lade Standard-Woerterbuch
                DatenExportCulture = "DatenExportWindow.xaml";
                DatenExportDictionary = dictionaryList.FirstOrDefault(d =>
                              d.Source.OriginalString == DatenExportCulture);
            }


            // Altes Woerterbuch loeschen und Neues hinzufuegen       
            if (DatenExportDictionary != null)
            {
                Application.Current.Resources.MergedDictionaries.Remove(DatenExportDictionary);
                Application.Current.Resources.MergedDictionaries.Add(DatenExportDictionary);
            }

            // Hauptthread ueber neues Culture informieren
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
        }

        private void M_DE_Click(object sender, RoutedEventArgs e)
        {
            ChangeLanguage("en-US");
        }

Thema: Formverwaltung: Bereits geöffnete Fenster wieder in den Vordergrund bringen
Am im Forum: GUI: Windows-Forms

z.B. beim Tastendruck F11 (welcher das Fenster geöffnet hat) soll das Fenster wieder ganz in den Vordergrund rücken, nachdem andere Steuerungsmenüs aufgerufen wurden ohne das Login-Menü zu schließen.

Ich denke ein Problem dabei ist folgende Exception

Fehler
InvalidOperationException : Das anzuzeigende Formular ist bereits sichtbar.

Thema: Formverwaltung: Bereits geöffnete Fenster wieder in den Vordergrund bringen
Am im Forum: GUI: Windows-Forms

Hi,

ich bastele jetzt schon etwas länger an einem größerem Programm herum. Dabei wird ein MainFrm geöffnet. Dieses bleibt die ganze Laufzeit aktiv. Von diesem MainFrm sollen sich mit F-Tasten UnterFrms öffnen lassen. Diese können sichtbar bleiben, wenn andere geöffnet werden. Allerdings kommen die neu geöffneten immer in den Vordergrund.

Dies funktioniert auch schon. Was ich allerdings noch möchte, ist das bereits geöffnete Fenster wieder in den Vordergrund geholt werden. Einfache Methoden wie z.B. BringToFront haben irgendwie nicht funktioniert.
Ich wäre über jede Hilfe sehr dankbar!

Die Abfrage erfolgt bisher folgendermaßen:

            if (this.UserLogin == null)
                this.UserLogin = new UserLoginFrm();
            if (!this.UserLogin.Visible)
                this.UserLogin.ShowDialog(this);