Zum Inhalt springen

Habe Quelltext - Suche Erklärung


Empfohlene Beiträge

Geschrieben

Hallo zusammen.

Hatte schonmal nen Beitrag verfasst in dem ich erklärt habe das ich Praktikant bin usw. und völlig neu in der C# Programmierung bin. Nun hat der Chef sich mit mir zusammen gesetzt und mit mir ein Projekt überlegt.

Das Projekt ist an eine Datenbank verknüpft (Acces). Habe nun folgenden Quelltext:

private string m_strConn;

// -------------------------------------------------------------------

// Konstruktor

// -------------------------------------------------------------------

public frmMain()

{

InitializeComponent();

// -------------- Verbindungsstring

m_strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Zulass2002.MDB";

}

// -------------------------------------------------------------------

// Programm beenden

// -------------------------------------------------------------------

private void beendenToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}

// -------------------------------------------------------------------

// FormLoad

// ------------------------------------------------------------------- private void frmMain_Load(object sender, EventArgs e)

{

try

{

//OleDb-Provider

OleDbDataAdapter da = new OleDbDataAdapter("SELECT * from Zulassungen ORDER BY ZulassungsNr;", m_strConn);

DataTable ds = new DataTable();

// Fill Speichert die Abfrage in einer DataTable

da.Fill(ds);

dGVZulassung.DataSource = ds;

dGVZulassung.Columns["ID"].Visible = false;

dGVZulassung.Columns["ZulassungsNr"].ReadOnly = true;

dGVZulassung.Columns["Gültig bis"].ReadOnly = true;

for (int i = 0; i < dGVZulassung.RowCount; i++)

{

if (dGVZulassung["ZulassungsNr", i].Value.ToString() == "Z-43.11-116")

{

dGVZulassung.Rows.Selected = true;

dGVZulassung.FirstDisplayedScrollingRowIndex = i;

break;

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Pro.Tis.Net");

}

Der Chef meinte, ich soll versuchen den Quelltext zu verstehen. Hab aber total die Probleme damit. Hab zwar hier auch ein Buch liegen, bin auch im msdn und schaue nach.

Vielleicht kann mir jemand von Euch ein wenig unter die Arme greifen. Und mir die einzelne Befehle ein wenig erläutern:-)

Geschrieben


private string m_strconn;


// -------------------------------------------------------------------

// konstruktor

// -------------------------------------------------------------------

public frmmain()

{

initializecomponent();


// -------------- verbindungsstring

m_strconn = "provider=microsoft.jet.oledb.4.0; data source=zulass2002.mdb"; [color="red"]//<-- connectionstring auf die access-datei[/color]

}


// -------------------------------------------------------------------

// programm beenden

// -------------------------------------------------------------------

private void beendentoolstripmenuitem_click(object sender, eventargs e)

{

close();

}

// -------------------------------------------------------------------

// formload

// ------------------------------------------------------------------- 

[color="red"]//wenn das fenster geladen wird, füllen.[/color]

private void frmmain_load(object sender, eventargs e)

{

try

{

//oledb-provider

oledbdataadapter da = new oledbdataadapter("select * from zulassungen order by zulassungsnr;", m_strconn); [color="red"]//daten aus der datei holen.[/color]

datatable ds = new datatable();

// fill speichert die abfrage in einer datatable

da.fill(ds); [color="red"]//datenaus der datei merken.[/color]

dgvzulassung.datasource = ds; [color="red"]//daten aus der datei ins datagridview (a.d.r., weil dgv) schreiben[/color]


dgvzulassung.columns["id"].visible = false; [color="red"]//pk nicht anzeigen[/color]

dgvzulassung.columns["zulassungsnr"].readonly = true; [color="red"]//spalte nur lesbar[/color]

dgvzulassung.columns["gültig bis"].readonly = true; [color="red"]//spalte nur lesbar[/color]


[color="red"]//zeilen iterieren[/color]

for (int i = 0; i < dgvzulassung.rowcount; i++)

{

[color="red"]//prüfen auf zulassungsnummer[/color]

if (dgvzulassung["zulassungsnr", i].value.tostring() == "z-43.11-116")

{

[color="red"]//zeile selectieren...[/color]

dgvzulassung.rows[i].selected = true;

[color="red"]//...notfalls scrollen[/color]

dgvzulassung.firstdisplayedscrollingrowindex = i;

[color="red"]//schleife beenden[/color]

break;

}

}



}

catch (exception ex)

{

messagebox.show(ex.message, "pro.tis.net");

} 

12345

Geschrieben

Ich danke Dir. Hast mir sehr geholfen. Werde bei weiteren Fragen darauf zurück kommen. Ist einfach schwer für mich, da ich keinen Einstieg ins Programmieren hatte und nun vor so etwas gestellt werde, mit der Aussage:

"Versuchs mal zu verstehen"...

Geschrieben
Ich danke Dir. Hast mir sehr geholfen. Werde bei weiteren Fragen darauf zurück kommen. Ist einfach schwer für mich, da ich keinen Einstieg ins Programmieren hatte und nun vor so etwas gestellt werde, mit der Aussage:

"Versuchs mal zu verstehen"...

Einer aus meiner Berufsschulklasse hat vor seiner Ausbildung ein Praktikum gemacht mit Möglichkeit auf Übernahme. Bei ihm wurden auch solche Dinge erwartet, aber die tuen das nur um zu sehen ob du den willen hast etwas zu lernen und deine Selbstständigkeit wird getestet. Der Typ aus meiner Klasse wurde nicht genommen von dennen, da er ständig nachgefragt hat, anstatt sich einzulesen oder im Internet zu recherchieren.

Nur so ein Tipp.

So long

Geschrieben
Einer aus meiner Berufsschulklasse hat vor seiner Ausbildung ein Praktikum gemacht mit Möglichkeit auf Übernahme. Bei ihm wurden auch solche Dinge erwartet, aber die tuen das nur um zu sehen ob du den willen hast etwas zu lernen und deine Selbstständigkeit wird getestet. Der Typ aus meiner Klasse wurde nicht genommen von dennen, da er ständig nachgefragt hat, anstatt sich einzulesen oder im Internet zu recherchieren.

Nur so ein Tipp.

So long

Ja klar. Ist mir auch klar. Jedoch war ich bei diesem Betrieb hier schonmal. Hat mir gut gefallen dann hab ich mich entschlossen mein halbjähriges Praktikum auch hier zu machen.

Am Anfang hatten sie mir gleich gesagt, dass sie Auszubildende einstellen, in diesem Jahr. Jedoch denke ich nicht, dass das Programmieren bei mir eine Zukunft hat. Ich hab einfach nicht die nötigen Grundkenntnisse - und bekomme sie irgendwie auch nicht in de Kopf - um diesen Beruf oder diese Ausbildung anzustreben.

Ich find´s halt irgendwie schwachsinnig, dass ich hier Tag für Tag 8 Stunden lang am Pc sitze, mir versuche selber was beizubringen, aber es ja doch nicht klappt, weil mir einfach das Verständnis fehlt.:floet:

Geschrieben

Du kannst natürlich auch mit dem Debugger durchlaufen und Zeile für Zeile prüfen was passiert. Aber effektiver als 8 Stunden vor dem Kasten zu sitzen ist mit Sicherheit ein ADO.NET Einsteigerbuch durchzuarbeiten.

Vielleicht steht da auch drin das es schlechter Stil ist über das DataView die Daten zu verändern.

Geschrieben (bearbeitet)

Moin.

Stehe nun vor der Aufgabe:

Habe beim Ausführen des Programmes 4 Tabellenspalten. Unter jeder Spalte ist eine Textbox. Nun möchte ich durch Eingabe in die Textbox, den entsprechenden Text in der Tabelle anzeigen lassen.

Habt Ihr Ideen? Ich möchte keinen kompletten Quelltext, nur eventuelle Stichwörter, zum Suchen, weil ich so nichts finde und auch keine Ahnung hab, nach was ich da suchen soll.

Also knapp gesagt, ich möchte die Eingabe die ich in die Textbox schreibe in dem datagridview anzeigen.

Danke!

Grüße

Bearbeitet von ickebins1989
Geschrieben

Ich sag dir was du machen musst, die genaue Syntax musst du selbst rausfinden:

1. In der ersten Table deines Datasets eine neue DataRow anlegen. (Factory Methode NewRow )

2. Die entsprechen Felder der Row füllen

3. Die Row an die Table hängen ( AddRow )

4. fertig - Dataview aktualisiert sich von selbst.

Geschrieben

Danke für die schnelle Antwort. Bin glaub etwas schwer von Begriff. Wie gesagt ich bin noch Anfänger.

Ich weiß garnicht wo ich jetzt "klicken" muss und den Quell-Code schreiben soll. Ist alles so verwirrend. Sorry, wenn ich so doof bin :)

Und wie kann ich dieses dann mit der Textbox, also der Eingabe verknüpfen? Ich merk gerade, dass ich wirklich keine Ahnung habe

Geschrieben

Hab ich hier liegen. Habe sogar 3 Bücher. 2 * C# dann noch eins mit Ado.net

Ich glaub einfach, der Beruf ist nichts für mich. Ich verzweifel hier...

Mittlerweile hab ich das mit nem SQL-Befehl gemacht (auch gezeigt bekommen)...:

OleDbDataAdapter da = new OleDbDataAdapter("SELECT * from Zulassungen WHERE ZulassungsNr LIKE '" + tBZulassungsNr.Text + "%' ORDER BY ZulassungsNr;", m_strConn);
Geschrieben

Moin.

Hoffe ihr könnt mir nochmal helfen.

Hab nun die Aufgabe aus einer Spalte (ZulassungsNr) nur bestimmte Zahlen anzeigen zulassen. In der Spalte sind im Moment noch Sachen wie Z: - usw.

Also ich möchte das Z weghaben. Desweiteren den Bindestrich (minus).

Nun habe ich folgenden Befehl:

string str = "71-0014";

str = str.Replace("Z", ""); Z ersetzen durch nichts

str = str.Replace("-", ""); - ersetzen durch nichts

str = str.Replace(".", ""); - ersetzen durch nichts

//str = str.Remove(0, 2);(ne möglichk. deshalb in //)

Jedoch passiert im DGV nichts. Daten stehen immer noch unverändert da. Nun zu meiner Frage. Soll ich dies vielleicht mit einer SQL-Abfrage machen? Wäre das von Vorteil? Ist dies überhaupt möglich? :D

Was ist denn an dem obigen Code falsch?

Grüße

Geschrieben

Jedoch passiert im DGV nichts. Daten stehen immer noch unverändert da. Nun zu meiner Frage. Soll ich dies vielleicht mit einer SQL-Abfrage machen?

Kommt drauf an - sollst du die Daten nur anders anzeigen oder sollen die anders abgespeichert sein?

Ansonsten gibts Grundcommands wie Replace o.Ä. in fast jedem gängigen DBMS.

Geschrieben

Hi. Danke für die schnelle Antwort.

Das Programm kommt ja erst später. Gespeichert werden soll erst nachher. Ist im Moment noch egal.

Es sollen ganz einfach die Daten aus der Access Tabelle ohne die Z´s, ohne die -´s und ohne die .´s angezeigt werden.

Dies müsste ja eigentlich mit meinem o. g. Code funktionieren. Passiert aber nichts :confused:

Geschrieben

Du weißt aber schon, dass du str der jeweiligen Zelle nach einem neuen Laden zuweisen musst...

Ansonsten würd ichs gleich im Query umschreiben lassen.

sowas wie:

SELECT REPLACE(COL, "Z", "") AS COL FROM TABLE

(TSQL)

Geschrieben

Was meinst du damit? Versteh ich nicht...

Das Query soll die Daten bereits verändert zurückliefern, damit du das nicht erst programmtechnisch noch umschreiben musst. Stored-Procedur bietet sich hier an. (Google und so)

Was ist denn der Befehl "COL" ?

COL hab ich aus Gewohnheit stellvertretend für deine Spalte (englisch Column) geschrieben.

Geschrieben
Gegenfrage, was hat denn str mit deinem Datagridview zu tun?

Hmm. Ich hab einfach keinen Durchblick. Ich weiß einfach nicht wo ich was hinschreiben muss. Str hat eigentlich garnichts damit zu tun. Ist einfach nur ne Variable?!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...