Laden...
Avatar #avatar-2970.jpg
John Sanson myCSharp.de - Member
Anwendungsentwickler Dinslaken Dabei seit 03.03.2006 195 Beiträge
Benutzerbeschreibung

Forenbeiträge von John Sanson Ingesamt 195 Beiträge

13.10.2008 - 16:33 Uhr

Hi, bei Like fliegt eine Exception:

'LINQ to Entities' erkennt die Methode 'Boolean Like(System.String, System.String)' nicht,.....usw.

Habe es danach mal mit Equals versucht, dabei kam aber wieder der Fehler den ich im ersten Eintrag beschrieb.

13.10.2008 - 03:53 Uhr

verwendetes Datenbanksystem: <SQLCompact>

Moin Leute,

ich habe folgendes Problem:
Es kommt jedesmal eine Exception wenn ich im Linq Query eine Variable verwende. KlassenID ist von Typ NVARCHAR(50)

Zum Beipsiel:


   using (ClientFramework.SFS2009Entities db = new ClientFramework.SFS2009Entities())
            {

                string Klassenname = "A";

                var query = from kk in db.Klassen
                            where kk.KlassenID == Klassenname
                            select kk;

                Debug.WriteLine(query.First().KlassenID);

            }

wenn ich aber stattdessen in Where Klausel

where kk.KlassenID == "A"

schreibe geht es.
Folgende Exception erscheint:
Fehler beim Ausführen der Befehlsdefinition. Details finden Sie in der internen Ausnahme.

Und die innere:
{"Die Datentypen 'ntext' und 'image' können in Klauseln vom Typ WHERE, HAVING, GROUP BY, ON oder IN nicht verwendet werden, es sei denn, diese Datentypen werden mit den Prädikaten LIKE oder IS NULL verwendet."}

Ich hoffe mir kann geholfen werden.

Vielen Dank schon einmal.

26.09.2008 - 13:55 Uhr

Enviroment.NewLine gibt dir einen Zeilenumbruch.

26.09.2008 - 12:16 Uhr

Hi,

ich hatte dieses Problem und konnte es mit

cellspacing und cellpadding der Tabelle auf 0 setzen, beheben.

Chris

10.09.2008 - 17:56 Uhr

Das Problem war der Windows Media Player.
Man braucht mindestens den 10er und ich hatte auf meinem XP den 9er.

Da vista ja direkt mit dem WMP 11 ausgeliefert wird, trat dieses Problem da gar nicht erst auf.

Chris

10.09.2008 - 11:07 Uhr

Moin,

ich habe das, Problem das ich 2 MediaElemente habe, eins lädt eine MP3 Datei und da andere ein Bild. Habe das ganze unter Vista entwickelt und getestet und alles läuft.

Unter XP jedoch wird die Musik und das Bild nicht angezeigt bzw. abgespielt.

Funktioniert das MediaElement unter XP nicht? Kann doch nicht, läuft doch alles im .Net Framework ab. oder?

Kann jemand helfen oder hatte schonmal dieses Problem?

Grüße

chris

13.08.2008 - 13:53 Uhr

Hi Leute,

ich habe vor wenigen Tagen etwas mit XBAP herumprobiert und musst leider feststellen, dass man extrem eingeschränkte Rechte hat.
Ich konnte keine Datenbankverbindung aufbauen oder ins Dateisystem schreiben, noch nicht einmal Animationen sind ohne full trusted und Zertifikat möglich.

Nun, könnt ihr mir sagen wie es sich da mit Silverlight 2.0 verhält?

Grüße

Chris

12.08.2008 - 11:27 Uhr

Hi,

du kannst normalerweise eine Connection öffnen wenn, du einem SQLCompactConnection Objekt einen gültiger ConnectionString gibt und die open Methode aufrufst.

Ich glaube du hast es mit einem SQLConnection Objekt versucht.

Der ConnectionString für eine SQLComopact 3.5 DB ist recht simplel, es steht nur der Pfad zur .sdf drin, evtl noch Passwort.

Am besten du postest mal deinen Vorgang.

Gruß

Chris

PS: Um SQL Server Compact 3.5 zu benutzen brauchst du kein IIS.

12.08.2008 - 11:18 Uhr

Hi,

Das mit dem markieren wird bei einem Label schwieriger.
Viellecht könntest du eine textBox nehmen.

Mit dem kopieren sollte so gehen:


Clipboard.SetText(label1.Text);

Gruß

Chris

21.06.2008 - 00:22 Uhr

Hi Leute,

ich suche eine Postleitzahlen Datenbank für Spanien.

Habe einige von USA und Deutschland gefuden, jedoch keine für Spanien.

Es wäre toll wenn ihr helfen könntet, Sie sollte auf jedenfall kostenlos sein.

Grüße

Chris

03.06.2008 - 21:59 Uhr

Da hab ich wohl in die falsche Richtung gedacht, sorry.

03.06.2008 - 20:18 Uhr

Wenn du z.B. Controls hast wo Controls drin sind. Panel, TabPages usw.

03.06.2008 - 15:06 Uhr

Ich denke das liegt an der Kodeirung, C# nimmt Unicode. Das Euro-Zeichen ist 20AC.

03.06.2008 - 14:21 Uhr

Du kannst dir eine Klasse schreiben, deren Properties mit den Werten des DataTable füllen und dem ReportView dann dein Object der Klasse übergeben.

Mit typisierten Datasets gehts auch.

03.06.2008 - 11:59 Uhr

Das du dein Programm mit einem Parameter startest. Dieser soll wahrscheinlich der Dateipfad sein. in Args steht dann der Wert den du beim aufruf übergeben hast.

30.05.2008 - 16:38 Uhr

das kann man so nicht sagen...
Das kommt darauf an ob du viel mit Designer und effekten arbeiten willst..dann WPF. Ansonst sind WinForms meiner Meinung nach immer noch der Standard und die bevorzugte Variante. Wenn du vor hast irgendwelche UI Controls zu verwenden kann das natürlich auch eine Rolle spielen.

Chris

29.05.2008 - 15:13 Uhr

hi,

danke für die Hilfestellungen.
Ich werde mal die Antworten nehmen und irgenwie zusammenfügen. Anschließend noch was tolles ergänzen und fertig.

Chris

29.05.2008 - 14:36 Uhr

Hi.

WindowsState der Form auf Minimized,
ShowInTaskbar auf false,
NofifyIcon Control verwenden um ein Tray Icon anzuzeigen.

Gruß

chris

28.05.2008 - 19:40 Uhr

ich habe nochmal rumprobiert und so ging es, du bekommst dann eine neue Liste mit Werten.


var query = (from c in datenListe
                         select c.VergleichsItem).Distinct();
       
            List<MyObject> NewdatenListe = new List<MyObject>();
            foreach (var item in query)
            {
               var query2 = (from a in datenListe
                             where a.VergleichsItem == item
                             select a).Take(1);

               NewdatenListe.AddRange(query2); 
            }

Jedoch bin ich mir nicht sicher ob deine Schleife nicht sogar schneller ist, da ja bei mir in der Schleife jedes mal eine neue Abfrage gemacht wird.

28.05.2008 - 19:31 Uhr
var query = (from c in datenListe
                         select c.VergleichsItem).Distinct();

So bekommst du nur eindeutige Wert, das Problem ist dann wahrscheinlich, dass du nur die Werte vom VergleichsItem hast und nicht mehr deine MyObject List.

28.05.2008 - 16:50 Uhr

Ja an sowas habe ich als Einleitung schon gedacht, jedoch würde ich gern noch ein/zwei Sätze über .Net 3.5 und SQL Compact 3.5 verlieren. Ein ganz kleines bißchen muss ja auch hinter ...nur das beste... stecken.

28.05.2008 - 16:28 Uhr

Hi Leute,

ich schreibe zur Zeit an einem Handbuch für eine Rezeptverwaltungssoftware. Diese nutzt das 3.5er Framework und SQL Compact Edition 3.5.

Nun würde ich im Handbuch gern erwähnen welche Technik ich verwendet habe, denke aber das der Endbenutzer mit den ganzen technischen Kram nichts anfangen kann. Habt ihr irgendwelche Links oder Text im Kopf die Aussagen wie toll doch das alles ist und das es nichts besseres gibt?

Danke.

Gruß Chris

PS. Wir können es ruhig übertreiben.

28.05.2008 - 15:05 Uhr

echt Vista erkennt kein Autorun.inf , ist ja blöd. Aber wenn eine Setupdatei vorhanden ist scheint Vista das zu bemerken. Denn bei der Auswahl bekomme ich meistens setup oder Ordner öffnen angezeigt.

28.05.2008 - 15:02 Uhr

SelectedItems? evtl. selectedItems.count

28.05.2008 - 13:49 Uhr

Hi,

erstelle eie autorun.inf Datei und ein Setupproject im VS. normalerweise prüft das Setup von selbst ob das benötigte Framework installiert ist. Man kann dem Setup den Pfad mitteilen wo das Framework liegt falls nicht vorhanden. Dort steht noch eine URL, vielleicht kannst du da den Dateinamen nehmen vom Framework Setup.

Zum Schluss Framework Setup,Application Setup und die Autorun.inf auf CD brennen.

Chris

28.05.2008 - 12:05 Uhr

Hi,
Wenn du es ganz einfach haben willst gehts mit einem WebBrowser Control wo zu zur richtigen URL navigierst, denke ich mal.

chris

27.05.2008 - 13:32 Uhr

hi

setzt MultiSelect der ListBox auf true;
Dann kannst du mit der Schleife die Items der listBox durchgehen und Selektieren.

Chris

27.05.2008 - 11:48 Uhr

Hi,

Deklarier Variablen für die TextBoxen und setzt sie auf True über die jeweiligen textChanged Events.
Beim schließen fragst du ab welche Variablen auf true sind.

bei vielen TextBoxen kannst du natürlich auch Listen nehemen oder da in der Tag property von den TBs packen.

Chris

26.05.2008 - 16:45 Uhr

Nochmal zu einer Datei zurück:
Bei einer XML Datei kann man recht einfach das partielle Einlesen mit den neuen XML Klassen realisieren die u.a. für Linq in .Net 3.5 eingeführt wurden. Evtl. kannst du das auch splitten, so dass du nícht alles in einer Datei speicherst.

26.05.2008 - 10:18 Uhr

Hi,
ich habe noch nicht mit so großen XML-Dateien gearbeitet aber könnte mir vorstellen, dass das zu viele Daten für ein XML Dokument sind und die Performance darunter leidet.

Chris

25.05.2008 - 16:36 Uhr

ja das stimmt, ich habe auch versucht Dateien zu öffnen, nur in der Fehlermeldung stand immer drin, dass auf das Verzeichnis wo die Datei drin liegt nicht zugegriffen werden kann.

23.05.2008 - 23:51 Uhr

hey.

Nochmal zum Selectieren:
Wenn du im Eigenschaftsfenster auf Columns klickst öffnet sich ein Fenster, dort kannst du zu deinen vorhandenen Spalten eine CommandField Spalte mit Auswahl Button hinzufügen. Der erscheint dann vor jeder Zeile und wenn du ihn klickst ist die Zeile komplett markiert.

Zum auslesen der Selectierten Daten.
Wenn also ein Eintrag ausgewählt wird ruft das GridView das Event SelectedIndexChanged auf. Da sich der selectierte index geändert hat. Wähle aus dem Eigenschaftsfenster das Ereignis, und du kannst so auf die einzelnen Zellen deiner ausgewählten Zeile zugreifen.

GridView1.SelectedRow.Cells[2].Text;

In diesem Fall greife ich auf die 3. Zelle zu.

Chris.

23.05.2008 - 22:45 Uhr

Hi,

  1. Unter columns kannst du CommandFiels wählen, du brauchst einen select bzw Auswahl Button.

  2. Das GridView hat dafür Events. Z.B. SelectedIndexChanged.
    Dann kannst du es so ähnlich machen:


    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
       TextBox1.Text = GridView1.SelectedRow.Cells[2].Text;
    }

Chris

23.05.2008 - 19:04 Uhr

Also so gehts:

fi ist ein FileInfo Objekt.


FileStream fsBLOBFile  =  fi.OpenRead();
            Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
            fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
            fsBLOBFile.Close();

Chris

23.05.2008 - 18:31 Uhr

Ich würde es gern mal auf einen anderen Weg ausprobieren. Gibts eine andere Möglichkeit eine Datei in einem Byte[] zu bekommen?

23.05.2008 - 18:29 Uhr

nö hilft nicht. Auch UAC aus bringt nichts.

23.05.2008 - 18:12 Uhr

Habe meine Programme mal eben in einer Virtuellen Machine mit XP SP2 kopiert und selbst da bekomm ich die Meldung.

XP hat kein UAC. Ahh.

Ich kopier mein Projekt mal auf den Laptop mit Vista 32, vielleicht compiliert der das unter vista 64 komisch.

23.05.2008 - 17:45 Uhr

Hi Leute,

ich bin jetzt schon ein paar Stunden dran und es liegt immer wieder das gleiche Problem vor: Ich bekomme folgende Exception {"Der Zugriff auf den Pfad E:\ wurde verweigert."}

Ich benutze Vista x64 und dachte mir zuerst, dass ich halt keine Berechtigung habe, wie es auch in der Meldung steht. Jedoch habe ich den Pfad mit allen möglichen Verzeichnissen und Laufwerken getestet. Auch mit RunAs Admin. Immer das gleiche Ergebnis. Es kann doch nicht, dass ich selbst als Administrator auf meinem eigenen Rechner keine Rechte habe, oder?

Naja hier ist der Code, beim deklarieren des FileStreams kracht es.


 FileStream fsBLOBFile = new FileStream(fi.DirectoryName, FileMode.Open, FileAccess.Read);
            Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
            fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
            fsBLOBFile.Close();

Wäre schön wenn ihr mir helfen könntet.

Chris

21.05.2008 - 15:04 Uhr

Hi,
versuche es mal mit:


string NeuerText = textBox1.Text.Replace(",",Environment.NewLine);

und für das Leerzeichen genauso nur anstatt , ein Leerzeichen.

chris

20.05.2008 - 10:33 Uhr

Hi,
ConnectionString anpassen

Chris

15.05.2008 - 21:29 Uhr

Naja es geht noch einfacher:


 public static Array GetAllSongsByCharacterOverArtist(string CharArtist)
    {

      using (MusicDatabaseEntities entities = new MusicDatabaseEntities())
      {
        var result = from c in entities.songs select c.artists.artistname.StartsWith(CharArtist);
return result.ToArray();
      }
      
    } 

Das Array was zurück kommt kann einfach an GridView.DataSource zugewiese n werden.

Chris

15.05.2008 - 21:17 Uhr

Hi,

du kannst es so machen:


 private void button1_Click(object sender, EventArgs e)
        {
           GetTable(ref dataGridView1);
        }

        void GetTable(ref DataGridView grid)
        {
            using (Atelier.VisualAtelierDataContext ctx = new Atelier.VisualAtelierDataContext())
            {
                var query = from k in ctx.Kundens
                            select k;

                grid.DataSource = query;
            }
        }

oder du gibts DataTable zurück und füllst den mit einer foreach.


     DataTable GetTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Nachname");
            dt.Columns.Add("Vorname");
            using (Atelier.VisualAtelierDataContext ctx = new Atelier.VisualAtelierDataContext())
            {
                var query = from k in ctx.Kundens
                            select k;

                foreach (var item in query)
                {
                    dt.Rows.Add(new object[] { item.Nachname, item.Vorname });
                }
            }

            return dt;
        }

Gruß Chris

14.05.2008 - 11:49 Uhr

Das Automation Framework kann soetwas sehr komfortabel erledigen.
In diesem Namespace sind die Klassen die du brauchst: UIAutomationClientsideProviders.

Es müssen 4 Assemblies UIAutomation... referenziert werden.

Dann kannst du in etwa vorgehen wie mein Beispiel:


#region Open App
            OpenFileDialog op = new OpenFileDialog();
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            if (op.ShowDialog() == DialogResult.OK)
            {
                p = System.Diagnostics.Process.Start(op.FileName);
            }
            #endregion

            #region Zugriff auf Desktop
            AutomationElement ae = AutomationElement.RootElement;
            #endregion
            DateTime je = DateTime.Now;

            System.Threading.Thread.Sleep(2000);
            
            //Form
            AutomationElement asForm = ae.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "Form1"));
            //Button
            AutomationElement asBtn1 = asForm.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "button1"));
            //Declare Pattern for Event
            InvokePattern btnclick = (InvokePattern)asBtn1.GetCurrentPattern(InvokePattern.Pattern);
            //TextBox
            AutomationElement asTB = asForm.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "textBox1"));
            //Declare Pattern for Event
            ValuePattern TBSet = (ValuePattern)asTB.GetCurrentPattern(ValuePattern.Pattern);
            
            
            //Invoke aufrufen
            for (int i = 0; i < 200; i++)
			{
                TBSet.SetValue(i.ToString());
                btnclick.Invoke();
                System.Threading.Thread.Sleep(500);
			}

            p.Kill();

Mfg

Chris

27.04.2008 - 00:23 Uhr

Hi,
du könntest dir eine Zusätzlich Schicht einfügen, die Services bzw. Klassen und Methoden enthält wo du deine Business Objekte übergeben kannst. Diese Services komunizieren dann mit DB.

Gruß

Chris

25.04.2008 - 20:54 Uhr

Setup erstellen und entsprechende Dateien hinzufügen.

Chris

25.04.2008 - 20:52 Uhr

Das Management Studio kann keine Bilder anzeigen, es weis nicht einmal, dass diese Binären Daten ein Bild sein soll.

Wenn du das Bild ausversehen in die falsche Spalte geschrieben hast, denke ich nicht das es komplett drin ist. Schließlich ist ein Bild ja etwas größer als z.B. eine nvarchar(50) länge.

Chris

25.04.2008 - 20:46 Uhr

Hi,

ich denke das ist nicht zu schwierig um es selbst du schreiben.
Such dir bei Codeproject oder anderswo eine schöne Progressbar aus und bau ein Theromometer drumherum.

Gruß

Chris

18.04.2008 - 23:36 Uhr

DirectoryInfo di = new DirectoryInfo(@"Pfad");
FileInfo[] speicher;
speicher = di.GetFiles("*.txt");
//Liste für Dateinamen
List<string>Dateinamen = new List<string>();

listBox1.Items.Clear();
for (int i = 0; i < speicher.Length; i++)
{
   FileStream fs = new FileStream(@"Pfad" + speicher[i].Name, FileMode.Open);
   StreamReader sr = new StreamReader(fs);
   string zw = "" + sr.ReadLine();
//Hier zur Liste hinzufügen
   Dateinamen.Add(@"Pfad" + speicher[i].Name);
   listBox1.Items.Add(zw);
   sr.Close();
   fs.Close();
}

und wenn du den Dateinamen willst:


string Filename = Dateinamen[ListBox1.SelectedIndex];

18.04.2008 - 23:25 Uhr

ah

du könntest dir ne Methode bauen die als Parameter den ausgewählten Text bekommt und als Rückgabewert den Dateinamen. Innerhalb der Methode durchläufst du wieder jede Datei im Verzeichnis und prüfst ob es die richtige ist.

Oder du speicherst dir die Dateinamen zum passenden ListBox Index von Anfang an in einem Array oder so und durchsuchst nur das.

Oder du Nimmst keine ListBox sondern was mit mehreren Spalten und schreibst in der zusätzlichen Spalte den Dateinamen.

Achja... ich denke da gibts keine Methode für, kann mich aber auch irren.

18.04.2008 - 23:15 Uhr

Hi,

du könntest z.B.
an deinem WebPart eine Webpartverbindung definieren, das Sharepoint Filter WebPart auf die Seite einfügen und beide verbinden. Dann schickt das Sharepoint Filter WebPart die Filterwerte an dein WebPart.

Gruß

Chris