LukOnline
-
Gesamte Inhalte
134 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von LukOnline
-
-
Hallo Leute!
Folgender Sachverhalt ist gegeben:
Ich bekomme im Konstruktor meines Forms einen Primary Key aus einer Tabelle übergeben.
Zu diesem Key möchte ich den zugehörigen Datensatz anzeigen lassen.
(in meinen Textfeldern)
Wenn man nun etwas in einem Textfeld ändert, soll dann nach einen Knopfdruck der geänderte Wert gespeichert werden.
Nur genau da komme ich nicht weiter...
Vielleicht weiß ja jemand von euch weiter.
Hier erstmal der Code:
public partial class Form1 : Form { private DataSet DS; private OleDbConnection Connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Luk\\Documents\\Visual Studio 2005\\Projects\\Kontakt-Manager\\Kontakt-Manager\\Adressbuch\\Adressbuch.accdb;Jet OLEDB:Database Password=Test;"); private string SQL = "SELECT VNAME FROM kontakte WHERE ID = 36"; public Form1() { InitializeComponent(); this.DS = this.CreateDataSet(); this.textBox1.DataBindings.Add("Text", this.DS.Tables["kontakte"], "VNAME"); } private DataSet CreateDataSet() { DataSet DS = new DataSet(); OleDbDataAdapter DA = new OleDbDataAdapter(this.SQL, Connection); DA.Fill(DS, "kontakte"); return DS; } private void button1_Click(object sender, EventArgs e) { OleDbDataAdapter DA = new OleDbDataAdapter(this.SQL, this.Connection); DA.Update(DS, "kontakte"); } }
Danke schonmal für eure Hilfe,
Luk
-
Hey, danke erstmal für deine schnelle Antwort!
[img=http://www.casio-europe.com/de/images/_clear.gif] 128 physikalische Konstanten und 383 mathematische Funktionen
Das bedeutet, Wurzel, Potenzen,... sind auch dabei, richtig?
edit: Du solltest auch vor der Prüfung ein paar mal die Umrechnungen damit ausprobieren. Wärst nicht der erste der sich nen Taschenrechner kauft und in der Prüfung bemerkt, dass er damit nicht umgehen kann.Danke für den Tip
-
Hallo zusammen!
Ich habe vor, mir einen Taschenrechner zu kaufen, der Bin / Hex / Dez beherrscht und umrechnen kann.
Kennt jemand ein gutes Modell?
Wichtig ist, dass dieser Rechner auch in der IHK-Prüfung erlaubt ist.
Vielen Dank schonmal im Voraus.
Gruß, Luk
-
Und was macht der?
-
Ja, da hast du recht, aber es geht ja nicht nur um das eine Bild.
Mit dem gleichen Passwort sind noch andere Bilder und eine Access DB geschützt (Ich weiß, dass der Access-Schutz nur eine minimale Hürde ist).
Das Problem ist halt einfach, dass ich das Passwort dann ja im Klartext hätte, wenn ich die beiden Bilder mit xor verknüpfe.
Und das ist doch schlecht...
Deswegen könnte man das Passwort ja vorher im Quellcode chiffrieren.
Z.b.
1. Groß / Kleinschreibung vertauschen.
2. Die Buchstaben wie folgt vertauschen. Nennt sich monoalphabetische Chiffre.
ABCDEFGHIJKLMNOPQRSTUVWXYZ HIJKLMNOPQRSTUVWXYZABCDEFG
(das ganze nochmal mit Kleinschreibung)
3. Das Wort in sich verwürfeln: Tausche Buchstabe [3] mit [0],...
Oder einfach das Passwort rückwärts schreiben.
4. Zum Schluss vielleicht den Buchstaben immer noch in der ASCII Tabelle um X erhöhen. Aus A wird mit einer 3 dann zum Beispiel ein D. (A Dez = 65 + 3 = 68; 68 Dez = D)
5. Ziffern um x erhöhen.
Wenn ich dann die Bilder xore komme ich möglicherweise auf sJ1dN9f
Und daraus das Passwort wiederherzustellen würde ich als knifflig bis schwer bezeichnen... Solange der Quellcode geheim bleibt.
Apropos: Wie sieht es überhaupt aus mit Decompilern für C#.
Funktioniert das oder eher nicht?
Danke schonmal, Luk
-
Hallo zusammen,
mir ist da noch etwas interessantes eingefallen.
Wenn die Vernam-Verschlüsselung einfach auf XOR basiert, dann kann ich natürlich ohne das Passwort nicht entschlüsseln.
Aber ein Problem bildet sich ab: Wenn ich die verschlüsselte und die Original-Datei habe, kann ich das Passwort errechnen, oder sehe ich das falsch? :-O
Wie kann man dem entgegenwirken? Das Passwort im Quellcode modifizieren?
Vielleicht die einzelnen Chars verwürfeln? Ist für die Verwürfelung ein weiterer Schlüssel angebracht? Oder vielleicht eine monoalphabetische Chiffrierung?
Würde mich über eure Antworten freuen!
Gruß Luk
-
Hey,
ich könnte dir einen von mir erstellten Taschenrechner geben.
Etwas umbauen musst du ihn aber.
Er hat nur ein Textfeld, wo alle Operatoren und Operanden reingeschrieben bzw geklickt werden.
Die Methode berechen() bekommt also einen String übergeben und gibt einen double (oder decimal?) Wert zurück.
Zum ausrechnen habe ich mir aber einen fertigen Formelparser heruntergeladen. (Die Berücksichtigung von Potenzen, Punkt-vor-Strich,... ist sehr aufwändig)
Es gibt nur ein Problem: Ich bin Pendler und habe zur Zeit Urlaub und bin bis ins neue Jahr bei meiner Familie. Den Rechner habe ich auf Arbeit oder zuhause... Komme also erst am 03.Jan wieder ran.
Wenn du magst kannst du mich ab da nochmal anschreiben. (ICQ bitte!)
Hoffe, dass es dir bis dahin ausreicht.
Gruß, Luk
-
OK, ich bins schon wieder =)
Habe die Lösung doch noch gefunden!
// using System.Collections.Generic; // using System.Text; using System; using System.Drawing; // Verweis einbinden! using System.IO; namespace VernamVerschlüsselung { class Program { static void Main() { // Bild von Datei einlesen: Image originalImage = Image.FromFile("TestBild.jpg"); // Bild verschlüsseln: EncryptImage(originalImage, "TestBild_verschlüsselt.jpg", "Passwort"); // Bild entschlüsseln: Image newImage = DecryptImage("TestBild_verschlüsselt.jpg", "Passwort"); // Bild in Datei speichern: newImage.Save("TestBild_entschlüsselt.jpg"); } private static void EncryptImage(Image img, string encryptedFile, string keyFile) { // Verschlüsselung des Bildes int Laenge = keyFile.Length; int Zeichen = 0; ImageConverter ic = new ImageConverter(); byte[] originalBytes = (byte[])ic.ConvertTo(img, typeof(byte[])); // Schlüssel erzeugen - Länge genau wie die originalen Bytes byte[] keyBytes = new byte[originalBytes.Length]; // schreibe den Bytecode des Passwortes immer wieder, bis das Array keyBytes voll ist for (int i = 0; i < keyBytes.Length; i++) { keyBytes[i] = StringToByteArray(keyFile)[Zeichen]; Zeichen++; if (Zeichen == Laenge) { Zeichen = 0; } } // Bild mit Vernam-Algorithmus verschlüsseln (XOR) byte[] encryptedBytes = new byte[originalBytes.Length]; Vernam(originalBytes, keyBytes, ref encryptedBytes); // Speichern des verschlüsselten Bildes using (FileStream fs = new FileStream("TestBild_verschlüsselt.jpg", FileMode.Create)) { fs.Write(encryptedBytes, 0, encryptedBytes.Length); } } private static Image DecryptImage(string encryptedFile, string keyFile) { // Entschlüsselung des Bildes int Laenge = keyFile.Length; int Zeichen = 0; // Einlesen der verschlüsselten Bytes: byte[] encryptedBytes; using (FileStream fs = new FileStream(encryptedFile, FileMode.Open)) { encryptedBytes = new byte[fs.Length]; fs.Read(encryptedBytes, 0, (int)fs.Length); } // Array für Schlüssel-Bytes erzeugen - Länge genau wie die verschlüsselten Bytes byte[] keyBytes = new byte[encryptedBytes.Length]; // schreibe den Bytecode des Passwortes immer wieder, bis das Array keyBytes voll ist for (int i = 0; i < keyBytes.Length; i++) { keyBytes[i] = StringToByteArray(keyFile)[Zeichen]; Zeichen++; if (Zeichen == Laenge) { Zeichen = 0; } } // Entschlüsseln: byte[] originalBytes = new byte[encryptedBytes.Length]; Vernam(encryptedBytes, keyBytes, ref originalBytes); // Image aus dem Byte-Array erzeugen: ImageConverter ic = new ImageConverter(); return ic.ConvertFrom(originalBytes) as Image; } private static void Vernam(byte[] inBytes, byte[] keyBytes, ref byte[] outBytes) { // Prüfen der Argumente: if ((inBytes.Length != keyBytes.Length) || (keyBytes.Length != outBytes.Length)) throw new ArgumentException("Ungleiche Länge"); // XOR: for (int i = 0; i < inBytes.Length; i++) { outBytes[i] = (byte)(inBytes[i] ^ keyBytes[i]); } } private static byte[] StringToByteArray(string str) { // diese Methode Konvertiert einen String in Bytes System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); return enc.GetBytes(str); } } }
-
Hallo zusammen!
Ich möchte mit einer C#-Anwendung Bilder Ver- und Entschlüsseln.
Nach einiger Recherche bin ich auf den Vernam-Algorithmus aufmerksam gewurden: Schnelles verschlüsseln von Bilder etc - Entwickler-Forum
Das funktioniert auch soweit ganz gut, nur habe ich ein Problem bei der Anpassung. Ich möchte als Schlüssel keine Zufallsdaten, sondern einen festen String.
Statt der Schlüssel.dat übergebe ich also den String
[B]EncryptImage(originalImage, "TestBild_verschlüsselt.jpg", "Passwort");[/B]
Folgendes kommentiere ich aus:// Random rnd = new Random(); // rnd.NextBytes(keyBytes); // Schlüssel speichern: // using (FileStream fs = new FileStream(keyFile, FileMode.Create)) // { // fs.Write(keyBytes, 0, keyBytes.Length); // }
Doch wie erzeuge ich nun meinen Byte-Schlüssel aus dem Passwort?
Es wurde ja geschrieben, dass die Bytes des Schlüssels gleich denen des Passworts sein müssen. Ich muss also das Passwort solange verlängern bis die Byteanzahl stimmt?
Wie mache ich das?
Kann mir bitte jemand helfen?
Danke schonmal, Lukas
-
Ich habe inzwischen selbst noch eine Lösung gefunden:
OleDbConnection objOleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Sample.mdb; Mode=12"); objOleDbConnection.Open(); OleDbCommand objOleDbCommand = objOleDbConnection.CreateCommand(); objOleDbCommand.CommandText = "ALTER DATABASE PASSWORD [newpw] []"; objOleDbCommand.ExecuteNonQuery(); objOleDbConnection.Close();
Quelle: ALTER USER or DATABASE Statement (Microsoft Access SQL)Â [Access 2007 Developer Reference]
-
Hallo zusammen,
ich würde gern aus meinem C# Programm heraus das Passwort einer Access-Datenbank ändern.
Bei MySQL z.B. gibt es ja ein Statement, was genau dies kann.
UPDATE user SET Password="XXX" WHERE user='root';
Für Access habe ich bei Google jedoch nichts passendes gefunden.
Kennt sich da jemand aus?
Verwende das Access 2007 Dateiformat accdb und eine OleDB-Verbindung.
Vielen Dank schonmal im voraus!
Luk
-
OK, ich habe es geschafft.
TuneUp DiskDoctor hilft wahre Wunder.
Jetzt läuft auch CHKDSK wieder und der PC hat im Ereignis-Protokoll keine Fehler von ntfs mehr.
Gruß, Luk
-
Hey zusammen.
Ich habe mal meinen Ausbilde zu Hilfe geholt.
Durch dieverses Partitionieren und MBR wiederherstellen, und die Fehlerkorektur von der Vista Recovery CD bootet er jetzt von der neuen Platte.
Jedoch war das Dateisystem zum Zeitpunkt des Images ziemlich beschädigt.
(Deswegen auch der CHKDSK Fehler auf der neuen Platte)
Wie dem auch sei, das Dateisystem lässt sich mit CHKDSK nicht reparieren.
In der Ereignisanzeige gibts diverse Fehlermeldungen von ntfs...
Kennt jemand ein anderes gutes Tool um NTFS zu reparieren?
Ich google jetzt mal ^^
Gruß, Luk
-
@allesweg:
Also, ich habe die LiveCD von meiner Firma gebootet.
BartPE mit ein paar DiagnoseTools.
Der WD Test gibt zwar bei SMART keine Fehler aus aber der Quicktest bricht schon nach wenigen Sekunden ab und kann in einem Berech nicht lesen...
@Connor1980: Da die Samsung-Platte ist ja komplett neu gewesen, d.h. sie hatte noch keinen MBR und deswegen wurde dieser neu erstellt... Oder nich?
Ob sie bootfähig ist prüfe ich dann nochmal...ich kopiere das Image grade neu...Eine Vista CD ist nicht vorhanden...
Ich habe von verschiedenen Befehlen gelesen.
fdisk /mbr
fixboot
fixmbr
bootcfg /rebuild
Doch meine PE-CD ist WinXP basierend und da habe ich keinen dieser Befehle zur Verfügung...
Kann mir jemand vllt eine Live CD (.iso) schicken mit der ich den MBR neu erstellen kann?
-
Hey zusammen,
habe ein "kleines" Problem beim Rechner eines Freundes:
Weiß jetzt nicht genau ob er 32 oder 64 Bit Vista hat...
Vermute 64 Bit, weil er 4GB RAM hat und auch einen recht neuen PC mit einem Quad-Core.
Der PC bootete ganz normal und lief anfang (etwas langsam).
Sobald man aber einen schreibenden Zugriff macht (und wenn es nur der Systemstart im msconfig ist den ich verändere) hängt sich der PC auf und es geht nix mehr -> Reset.
Vermutung: Festplatte. (Western Digital)
Reparaturversuche mit PE-CD:
- CHKDSK /F /R: Abgebrochen in Phase 2 (oder 3 ?) mit dem Fehler: Ein nicht spezifizierbarer Fehler is aufgetreten.
- PartitionMagic: kritischer Fehler! (4440 oder so)
Wir haben eine neue Platte gekauft (SAMSUNG) und ich habe die alten Partitionen gesichert (Drive Snapshot):
Partition 1: Recovery (unsichtbar)
Partition 2: System
Die neue HDD habe ich formatiert (nur eine Partition) und habe die alte System-Partition auf der neuen HDD wieder hergestellt und auf Primär und Aktiv gesetzt. Die Recovery-Partition brauche ich ja nicht zwingend, da der MBR ja neu geschrieben wurde, oder?
Jetzt kann der PC nicht booten: Nur der blinkende Cursor in der Pre-Boot-Phase.
Stutzig macht mich nur: CHKDSK und PartitionMagic bringen die selben Fehler...trotz neuer Platte. Ist da vielleicht doch was mit dem SATA Controller bzw dem Board?
Gerade ist mir noch die boot.ini eingefallen...
Ab Vista wurde diese ja durch BCD (Boot Configuration Data) ersetzt.
Kann das sein dass in dem BCD Storage ein Verweis auf die damals 2.Partition steht, die jetzt ja nicht mehr vorhanden ist, da ich nur noch eine habe?
Habe mal nachgelesen: Mit bcdedit.exe kann man diesen BCD Storage bearbeiten...
Weiß jemand eine Lösung?
Wäre echt dankbar für eure Hilfe!
Gruß, Luk
-
Ich habe es hinbekommen!
Der DocumentIndexer Service war nicht gestartet...
Für alle Interessierten: Troubleshooting the Document Indexer - KnowledgeTree Document Management Made Simple
-
Hey,
danke für deine Antwort, würde jedoch gerne bei KnowledgeTree bleiben...
Es muss doch einen Grund für diesen Fehler geben?
Die Registrierung im KnowledgeTree Forum ist etwas doof.
Ausdrucken der Registrierungsmail und unterschreiben, dann mit der Post senden.
Deswegen suche ich hier nach Hilfe...
Luk
-
Hey zusammen!
Ich habe noch ein kleines Problem mit KnowledgeTree...
Wenn ich die Such-Funktion verwende und nach irgendeinem Schlagwort suche, dann dauert es ca 30sek und Zend antwortet mit
Service Temporarily UnavailableThe server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Was läuft da schief?
Ich habe die Version: 3.7.0.2 (Community Edition).
Gruß, Luk!
-
Hat sich schon erledigt.
Wollte nur nicht 2 Webserver laufen haben und dann einen über 8080 ansprechen oder so...
Ich habe jetzt einfach alles vom XAMPP Webserver auf den Zend verschoben und lassen den XAMPP aus.
Danke nochmal für eure Hilfe!
Thema kann also geschlossen werden.
Gruß Luk
-
Hey das KnowledgeTree finde ich SUPER!
Vielen Dank für deinen Tipp!
Nur noch einwas: Ich habe bisher XAMPP installiert, aber KnowledgeTree wollte unbedingt den Zend Server haben.
Kann man das KnowledgeTree Verzeichnis nach der Installation noch nach XAMPP verschieben?
Gruß, Luk
-
Hey, danke für den Tip!
Ich habe KnowledgeTree und Zend Server CE mal installiert.
Das Problem liegt nur bei der KnowledgeTree-Installation.
Wie ist das Zend MySQL Login für root?
EDIT: OK ich habe es hinbekommen: Der MySQL Service war down... Sorry^^
-
Technisch muss die ganze Sache auch nicht so überzogen sein.
Ist nur für den Privatgebrauch. Ich will lediglich ein paar Dokumente strukturiert ablegen und später leicht über eine Stichwortsuche wiederfinden. Eigentich muss es nicht mal ein Multi-User-System sein...
Ich habe mir bereits angeschaut:
- LetoDMS: Finde ich optisch nicht ansprechend, etwas unübersichtlich (LetoDMS is an open-source, web-based document management system.)
- Alfresco: scheint noch im Beta-Status zu sein: bei der Installation sieht man Texte wie z.B. "Beschreibung später hier einfügen". Außerdem hat sich das ganze Programm nicht starten lassen... (Open Source Enterprise Content Management System (CMS) by Alfresco)
- DMSLite: spricht mich optisch und funktionell sehr an, scheint aber keine Freeware zu sein, da ich keinen Download Link finden kann (Web based Online Electronic Document Management System Software & Workflow Management & Secure DMS)
- OpenKM: sieht auch super aus. Jedoch funktionsmäßig etwas zu umfangreich. (OpenKM Document Management System | Open Source DMS - Home)
- xincoDMS: Finde ich einfach unübersichtlich (xinco DMSâ„¢ - Open Source Document Management Systems)
- OpenDocMan: Wie LetoDMS zu unübersichtlich (Free Document Management Software | Open source document management for the masses)
- FlashNet DMS: sieht eigentlich ganz gut aus, aber anscheinend muss man da auch zahlen (Informatik Lösungen, Service, Support, Produkte, Aktionen, IT-Sicherheit)
Ja das wars soweit erstmal.
Am liebsten wäre mir eine Anwendung wo ich den ganzen Ordnerbaum am Rand sehen kann (wie im Active Directory).
- LetoDMS: Finde ich optisch nicht ansprechend, etwas unübersichtlich (LetoDMS is an open-source, web-based document management system.)
-
Hallo Leute,
kennt jemand ein gutes Freeware-Dokumenten Management System?
Bestenfalls mit PHP und MySQL.
Ich habe schonmal etwas in Google geschaut, jedoch nichts gefunden was mir wirklich zusagt...
Wer hat da gute Erfahrungen?
Danke schonmal
-
Hey ich hab nochmal eine Frage...
Meine DB-Verbindung habe ich bis jetzt so realisiert:
Form1.cs:
OleDbConnection Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ZAM.mdb");
Nur jetzt habe ich gesehen, dass es auch einen "Assistenten zum Konfigurieren von Datenquellen" gibt... D.h. ich habe meine Access DB jetzt im Projektmappenexplorer integriert. Meine Abfragen habe ich mit dem Connection String immer so gestaltet:OleDbCommand Command = new OleDbCommand(Query, Connection);
Doch wenn ich jetzt Variable Connection lösche, dann ist dieser Codeteil natürlich hinfällig.
Doch wie mache ich diese Abfrage nun ohne die Variable, nur mit der Datenquelle? Habe bei Google nichts für mich passendes für mich gefunden.
Danke schonmal für eure Hilfe!
Luk
[C#] DataBinding mit Access2007 Datenbank
in .NET
Geschrieben · Bearbeitet von LukOnline
Hallo lilith2k3,
vielen Dank erstmal für deine schnelle Antwort.
Leider verwirrt mich das nur noch mehr... :old
Also mal ganz Prinzipiell, was ist jetzt der Mindestaufbau den ich brauche?
In welcher Reihenfolge muss ich was machen?
Bisher habe ich die Daten mit einem selbst-gebastelten SQL String über den Primärschlüssel abgefragt (OleDbCommand) und die einzelnen Werte direkt in die TextBoxen geschrieben.
Nur das zurück in die DB speichern ist mit dieser Methode schwieriger, weil man nur schwer über überprüfen kann wo sich was geändert hat bzw etwas neu hinzugekommen ist...