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 Pacher
Thema: SQL Abfrage Problem mit Datum Formatierung
Am im Forum: Datentechnologien

@Abt
Tut mir wirklich leid und entschuldige mich auch dafür, nicht gleich mit dem Wissen wie du hast, auf die Welt gekommen zu sein...

War das jetzt wirklich notwendig?
Genau diese Postings vermiesen es einem Anfänger, hier "dumme" Fragen zu stellen bzw. auf ein wenig Hilfestellung zu hoffen!!

Thema: SQL Abfrage Problem mit Datum Formatierung
Am im Forum: Datentechnologien

Hallo @T-Virus!
Da hast mich falsch verstanden, bin über jeden Hinweis dankbar und hab das Beispiel auch mit den SQParameter nachgebaut, läuft natürlich auch bestens.
Vordringlich war mir aber einen Lösungsansatz bzgl. dem SQLString/Formatierung zu finden.... geb da bei einem Problem nicht so schnell auf!

Hab mich auch heute schon mit dem SQLite Thema beschäftigt, dass ich so nicht kannte - der erste Eindruck gefällt mir wirklich gut, da es meinen Anforderung
an möglichst Portabel und keine "Server" Konfiguration, dem einer Access Datenbank entspricht. Syntax ist ja eh sehr ähnlich.

Bzgl. Access hatte ich bisher kaum Probleme, vorausgesetzt das "Microsoft Access Database Engine 2010 Redistributable" wurde beim Anwender installiert!
Finde die Tabellenerstellung schon wesentlich einfacher, aber wie man es eben gelernt oder gewöhnt ist!
Schön jetzt eine ev. bessere Alternative zu kennen, bin eh für "open your mind"...

Also besten Dank
LG


Thema: SQL Abfrage Problem mit Datum Formatierung
Am im Forum: Datentechnologien

Hallo und ein herzliches Dankeschön euch beiden für die profesionellen Antworten.
Wie gesagt ich befinde mich noch im Anfängerstadium und muss mich erst von unten nach oben arbeiten um alles zu verstehen.
Der Hinweis auf SqlParameter war für mich schon mal ein zielführender Hinweis, alles andere ist für mich noch mit Kanonen auf Spatzen schießen bzw.
muss ich mich erst heranarbeiten. Von Drei-Schichten-Architektur bin ich noch weit entfernt und muss man auch mal erst verstehen....

Beschäftige mich derzeit noch mit kleineren Anwendungen (Adress-, Vereinsverwaltung etc.) da finde ich, ist eine Access "Datenbank" vollkommen ausreichend und
im Privatbereich möchte sich nicht gleich jeder mit Server und deren Konfiguration beschäftigen!
Hier hab ich eine '.exe und eine *.accdb und gut iss es.
Es ging mir darum, eine Lösung zu finden dieses Beispiel auch im deutschsprachigen Raum unkompliziert und ohne viel Aufwand lauffähig zu bekommen.
Und ja viele Wege führen nach Rom...

Mittlerweile hab ich eine Lösung gefunden, auch wenn ich den SQL String ziemlich "vergewaltigen" musste. Finde das DateTimePicker.Value als das eigentliche Problem, mit wenig Aufwand umgeschrieben, funtioniert es auch tadellos.
Alles weitere wie mit dem SQL Injection muss ich mich noch hineinarbeiten!

Hier meine kurzfristige Lösung:

var dtp1 = this.DateTimePickerFrom.Value;
var dtp2 = this.DateTimePickerTo.Value;
sql = "Select * from tblUser where EntryDate ≥ #" + dtp1.Year + "/" + dtp1.Month + "/" + dtp1.Day + "# and EntryDate ≤ #" + dtp2.Year + "/" + dtp2.Month + "/" + dtp2.Day + "#";

Aber nochmals vielen Dank für die Hinweise, werde mich damit beschäftigen!
LG Pacher



Thema: SQL Abfrage Problem mit Datum Formatierung
Am im Forum: Datentechnologien

Hallo!
Beisse mir hier an einem simplen Beispielprogramm schon seit Stunden die Zähne und finde einfach den Fehler nicht!
Habe schon zig Format Varianten durchprobiert, aber scheitere immer wieder an Datentypenkonflikten...
Vieleicht mag jemand mal kurz drüber schauen bzw. mir den entscheidenden Tipp geben und... bitte nicht prügeln, befinde mich noch im Anfängerstadium!
Wie auch aus dem Sourcecode erkennbar - C# und Access Database!
(Ja es gibt eine Unmenge an Videos und Tipps im Web, aber all diese sind mit unserem "Deutschen" System nicht lauffähig.)

Vorab schon Mal eine kleines Dankeschön!
LG

Thema: Aktion beim Druck auf "Grösser" oder "Kleiner"-Zeichen ausführen - Wo finde ich die Zeichen?
Am im Forum: GUI: Windows-Forms

Zitat von MrSparkle
Zitat von Pacher
Leider bin ich mit dem Debugger noch nicht so auf du und du!! ;-)

Dafür gibt es ja den von p!lle verlinkten Artikel. Wie willst du denn Programme schreiben, wenn du den Code nicht debuggen kannst?

Deshalb hab ich ja auch geschrieben "noch nicht....", verdiene mit C# ja nicht meine Brötchen, daher möge man es mir nachsehen das ich VS 2015 nicht im FF beherrsche...
sonst hätt ich mir ja auch die Frage erspart!!

Solche Lehrmeistersprüche sind ja nicht unbedingt sehr motivierend...., aber trotzdem Danke an alle hier für die Hinweise,
besonders an @Khalid!

Hab's für mich jetzt auch gelöst...


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.Control & e.Shift) && e.KeyCode == Keys.Oem102)
            {
                MessageBox.Show("Ctrl + Shift + >");
            }
            else if ((e.Control) && e.KeyCode == Keys.OemBackslash)
            {
                MessageBox.Show("Ctrl + <");
            }
        }


LG Pacher

Thema: Aktion beim Druck auf "Grösser" oder "Kleiner"-Zeichen ausführen - Wo finde ich die Zeichen?
Am im Forum: GUI: Windows-Forms

Zitat von Khalid
das müsste Keys.OemBackslash sein.

Hallo @Khalid!

Ja perfekt, Keys.OemBackslash ist das >
kennst aber auch noch das Äquivalent,
also für das "<" ?

Leider bin ich mit dem Debugger noch nicht so auf du und du!! ;-)

Schon mal ein Danke!
LG PACHER

Thema: Aktion beim Druck auf "Grösser" oder "Kleiner"-Zeichen ausführen - Wo finde ich die Zeichen?
Am im Forum: GUI: Windows-Forms

Hallo!

Nach 3 Stunden erfolgloser Internet Recherche, habe ich die Hoffnung das mir hier jemand zum Erfolg helfen kann!

In meinem Winforms Programm werte ich mit nachfolgendem Code per KeyDown Ereignis bestimmte Tastatureingaben aus und entsprechende Aktionen werden ausgeführt.
Alles funktionert auch tadellos, nur bei bestimmter Shortcut Funktion hänge ich, da ich nirgends die entsprechen "Keys" finde.

Die Tastaturkombination lautet:
"STRG + UMSCHALT + >" also das größer als Zeichen
sowie
"STRG + <" also das kleiner als Zeichen

Mein Code:


        private void frmMain_KeyDown(object sender, KeyEventArgs e)
        {
			if ((e.Control & e.Shift) && e.KeyCode == Keys.C)
			{
				MessageBox.Show("Ctrl+Shift+C gedrückt");
			}
			else if (e.KeyCode == Keys.Escape)
			{
				MessageBox.Show("ESC gedrückt");
			}
			else if (e.Control && e.KeyCode == Keys.N)
			{
				MessageBox.Show("Ctrl+N gedrückt");
			}
			else if (e.Control && e.KeyCode == Keys.??????) // wie lautet der Keys für das ">"
			{
				MessageBox.Show("Ctrl+> gedrückt");
			}
        } 

Wäre für jeden Tipp dankbar!
LG Pacher

Thema: Benennungsregel für Steuerelemente bei VS 2017 RC
Am im Forum: GUI: Windows-Forms

Zitat von Stefan.Haegele
Nur als kleiner Hinweis - das Verändern der Prüfregeln macht die schlechte Benamung nicht besser...

Hallo!
Na dann sollte sich Microsoft erst mal selbst an die eigene "Namensvorschrift" halten!!
Zieh mal in VS 2017 RC einen Button in ein Formular, dann heißt der "button1", statt der richtigen Benennung "Button1" - gemäß, der erste Buchstabe muss mit einem Großbuchstaben beginnen!!

Ich habe vor vielen vielen Jahren mit Visual Basic 2.0 begonnen und da hat es sehr wohl einen Coding Style gegeben (siehe oben) und den habe ich mir bis jetzt behalten.
Klar bleibt die Zeit nicht stehen, aber solange man damit keine Schlüsselwörter verletzt, also why not!? Bin alleine und in keinem Team!

Selbst bei MS konnte ich keine klare Empfehlung zur Benennung z. B. von Steuerelementen finden, jeder wird seinen eigenen Stil sich angeeignet haben, mit dem er am besten klar kommt. Ein wirkliches RICHTIG oder FALSCH gibt es beim coden nicht und wenn dann bitte vor den Vorhang mit seinem Coding Style.

Thema: Benennungsregel für Steuerelemente bei VS 2017 RC
Am im Forum: GUI: Windows-Forms

Zitat von gfoidl
du kannst dir ja selbst ein Ruleset erstellen, gegen das geprüft wird.

Danke Gü, das war der entscheidende Hinweis!!

LG Pacher

Thema: Benennungsregel für Steuerelemente bei VS 2017 RC
Am im Forum: GUI: Windows-Forms

Hallo!
Bin jetzt gerade leider nicht vor meinem Schirm um es zu testen, ab er du meinst man kann die Restriktion in FxCop abschalten/einstellen?

Thema: Benennungsregel für Steuerelemente bei VS 2017 RC
Am im Forum: GUI: Windows-Forms

Hallo!
Habe mir gerade das aktuelle VS 2017 RC installiert und bin gerade etwas schockiert....!!
Meine "alten" Winforms Projekte sind damit nicht mehr lauffähig, da die "Benennungsregel" es verbieten...??!!

Ich greife auf meine Steuerelemente nach "alten" Empfehlungen zu, z.B.:
frmMain
frmSettings
frmAbout
btnOK
btnCancel
txtVorname
txtStrasse
etc.

Hab ich da einen Schalter übersehen, damit ich die Projekte weiterpflegen kann, muss ich alle mühselig umbenennen oder muss ich bei VS 2015 bleiben?
Der Arbeitsaufwand wäre ja tw. ein Wahnsinn!!

Vielleicht hat jemand einen Tipp?

LG
Pacher

Thema: ListView bzw. ImageList zur Laufzeit leeren?
Am im Forum: GUI: Windows-Forms

Hallo, @Torni und @Coffebean!

Danke für die Antworten. Beide Methoden hatte ich natürlich schon getestet und leeren auch die ListView von den Items.
Das Problem liegt eher an der „Bindung“ ListView – ImagList!
Sobald einmal eine Zuweisung erfolgt, bekomm ich die nicht mehr aus der ListView raus und es bleibt ein 16x16 „Platzhalter“ (siehe Bild 3).
Kann man die ListView ev. irgendwie „neu Initialisieren“, ohne die Anwendung neu zu starten?

Thema: ListView bzw. ImageList zur Laufzeit leeren?
Am im Forum: GUI: Windows-Forms

Hallo!
Bevor ich mir noch die Stirn mit meinem Problem blutig schlage, hoffe ich hier den entscheidenden Tipp oder Lösung zu erhalten.
Lade mir in einer Listview hauptsächlich Picture-Files und hole mir per SHGetFileInfo-Funktion das jeweilige File-Symbol mit Hilfe einer ImageList - das funktioniert auch tadellos.
Aaaber, würde gerne zur Laufzeit die Möglichkeit haben, die ListView entweder MIT oder OHNE die Symbole umzuschalten. Sollte eigentlich ganz einfach sein, ListView leeren und entsprechend neu zu füllen.
Funktioniert auch wie gewünscht, wenn ich beim Start der Anwendung die ListView OHNE Symbole lade und dann während der Laufzeit dies neu und MIT Symbolen fülle, aber leider dann nicht mehr umgekehrt, also OHNE Symbole. Es wird zwar das Symbol nicht mehr angezeigt, es wird aber der Dateiname nicht mehr linksbündig gesetzt.
Für mich hat es den Anschein, dass die ImageList nicht vollständig geleert, gelöscht oder entfernt wird. Habe schon alle „mir“ bekannten Möglichkeiten probiert, nichts hilft, erst wieder ein Neustart.
Habe versucht dies in einem minimal-Programm (siehe Code), dies zu verdeutlichen. Wie gesagt, Problempunkt ist in Schritt 3 – siehe auch meine ausdokumentierten, vergeblichen Versuche.
Bin eher Beginner, vielleicht liegt es auch an der SHGetFileInfo-Funktion?? Wäre um jede Hilfe wirklich dankbar!
Sorry auch für den Roman, nur wie erklär ich sowas halbwegs verständlich…!

//.................	
		// Schritt 1. (kein Problem)
		void MainFormLoad(object sender, EventArgs e)
		{
            string strFileName = @"C:\Info.ico";
			listView1.View = View.Details;
		    listView1.Items.Add(strFileName);
		}
		
		//Schritt 2. (kein Problem)
		void Button1Click(object sender, EventArgs e)
		{
            string strFileName = @"C:\Info.ico";
            IntPtr hImgSmall;
            SHFILEINFO shinfo = new SHFILEINFO();            
            listView1.SmallImageList = imageList1;
            hImgSmall = Win32.SHGetFileInfo(strFileName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON | Win32.SHGFI_SMALLICON);
            Icon myIcon = (Icon)Icon.FromHandle(shinfo.hIcon).Clone(); 
            Win32.DestroyIcon(shinfo.hIcon);

            imageList1.Images.Add(myIcon);
            listView1.Items.Add(strFileName, nIndex++);
		}
		
		//Schritt 3. (Problema...ImageList wird nicht geleert!!)
		void Button2Click(object sender, EventArgs e)
		{
            string strFileName = @"C:\Info.ico";
            //imageList1.Images.Clear();			
            //imageList1 = null;	
            //imageList1.Dispose();		
            //listView1.SmallImageList = null;
            //listView1.StateImageList = null;           
            //listView1.Columns.RemoveAt(0);
            //listView1.Clear();
            //listView1.Items.Clear();
            //listView1.Refresh();

			listView1.View = View.Details;
		    listView1.Items.Add(strFileName);
		}