Laden...

Forenbeiträge von tomson456 Ingesamt 23 Beiträge

25.01.2009 - 23:51 Uhr

Hallo zusammen,

ich brauch mal eure Hilfe:
Ich habe eine XML-Datei in der innerhalb eines Tags mehrer Parameter stehen:

<streamnode Error="1" Warning="0" id="0" name="MPEG2 Program" parent="0">
...
</streamnode>

wie komme ich an die Parameter innerhalb von streamnode ran, also an **Error ** und Warning?

Kann mir jemand helfen?
vielen Dank im Vorraus

11.07.2006 - 12:05 Uhr

Hallo,

ich hab schon mal im Forum und bei msdn gesucht aber nichts passendes gefunden. Ich würde gerne an die Info-Eigenschaften einer Datei kommen. Und zwar kann man doch wenn man sich unter Windows die Eigenschaften einer Datei anzeigen lässt, unter Dateiinfo Titel, Author usw. eingeben. Kommt man an diese Eigenschaften wieder ran?
Wenn ich mich nicht irre gibt mir FileInfo ja nur die Eigenschaften wie Kompremiert, Hidden usw. aus.

Würde mich freuen wenn mir jemand weiterhelfen kann nach was ich suchen muss.

Viele Grüße
tomson

27.03.2006 - 18:15 Uhr

Hallo,

ich hab mal wieder eine Frage. Ist wahrscheinlich Kinderkram aber ich komme damit gerade nicht weiter. Hab auch schon dannach im Forum und bei Goggle gesucht, aber nichts gefunden. Ich habe auf eine Asp Seite eine Liste mit RadioButtons. Diese haben ganz normal einen Value und einen Text. Kann ich statt einem Text auch eine Textfeld hinter den Radiobutton packen.
Über die Liste lasse ich Daten in einem Datagrid sortieren. Ich würde jetzt gerne das man in das Textfeld einen Namen eingeben kann und dann dieser Name gesucht wird.

Hab aber keine Ahnung wie das gehen soll.
Vieleicht könnt ihr mir weiterhelfen.
Vielen Dank im Vorraus.
Tomson

15.03.2006 - 10:47 Uhr

Hallo,

ich versuche gerade ein Programm zu schreiben das alle Multicast Signale die in einem Netzwerk übertragen werden auflistet. D.h. wenn also mehrere Videostreams in einem Netzwerk unterwegs sind das ich eine List mit den IP-Addressen bekomme.

Im Moment hab ich aber noch nicht viele Ideen wie ich anfangen soll.
Kann mir einer von euch einen Tip geben wonach ich schauen muss oder was ich verwenden kann.

Vielen Dank
tomson

16.02.2006 - 11:41 Uhr

Hallo,

ich hab bei mir in einer Web Anwendung eine Liste mit vielen Einträgen. Um die Daten die aus einer Datenbank stammen zu aktualisieren habe ich in dem DataGrid ein Feld mit einem Aktualisieren-Button angelegt.

Mein Problem ist, dass wenn ich auf diesen Button drücke die Seite ja neu geladen weil in der Zeile die verändert werden soll die Textfelder erstellt werden. Damit verliert aber die betreffende Zeile den Fokus und die Anwendung springt auf den Beginn der Seite. Da die Liste aber sehr lang ist, hätte ich gerne das der Fokus der Seite wieder auf der Zeile liegt die ich verändern will.

Könnt ihr mir einen Tip geben wie ich das anstellen kann?
Würde mich sehr darüber freuen.

Viele Grüße
Tom

18.01.2006 - 18:15 Uhr

Hallo,
vielen Dank für eure Antworten. Leider bin ich trotzdem noch nicht weiter. Also der Fehler kommt in der Zeile mit ExecuteNonQuery. Das mit den Anführungstrichen bei dem string hab ich geändert. Bringt aber auch nix, leider. Was ist denn mit dem Tabellen Namen nicht in Ordnung? Solange ich eine eckige Klammer drum mach, kann ich doch auch Leerzeichen im Namen haben, oder? Bei der SELECT-Anweisung geht es doch auch. Ich hab es aber auch mal mit einem anderen Namen probiert, geht aber auch nicht. Die Fehlermeldung bleibt die selbe:
Der Index (basierend auf Null) muss größer als oder gleich Null sein, und geringer als die Größe der Argumentenliste.
Ich glaub halt immer noch das es was mit den Zeilen

TextBox tbrechner = (TextBox)E.Item.Cells[2].Controls[0];
TextBox tbBeschr = (TextBox)E.Item.Cells[3].Controls[0];

zu tun hat, komm aber leider nicht dahinter was da nicht passt.
Wie kann ich mir denn die Werte der einzelnen Variablen während der Ausführung ansehen? Hab leider nicht gefunden wo das geht.
Vieleicht hat ja noch einer eine Idee.
Viele Grüße
Tom

18.01.2006 - 13:46 Uhr

Hallo FZelle,

vielen Dank für deine Antwort. HAb das mal so versucht wie du gesagt hast. Aber entweder ich hab was übersehene oder der Fehler liegt wo anders.
Auf jeden Fall bleibt die Fehlermeldung die gleiche.


TextBox tbrechner = (TextBox)E.Item.Cells[2].Controls[0];
TextBox tbBeschr = (TextBox)E.Item.Cells[3].Controls[0];

string update ="UPDATE [172 16 1 x] SET key = ?, [IP-Nummer] = 172.16.1.1, Rechner = ?, Beschreibung = ? WHERE key = ?";
OleDbCommand com = new OleDbCommand(update);
			com.Parameters.Add("@key",DataGrid2.DataKeys[(int)E.Item.ItemIndex]);
		
com.Parameters.Add("@rechner", tbrechner);
com.Parameters.Add("@Berschr", tbBeschr);
com.Parameters.Add("@key2", DataGrid2.DataKeys[(int)E.Item.ItemIndex]);
com.Connection = oleDbConnection1;
com.Connection.Open();
com.ExecuteNonQuery();
com.Connection.Close();
DataGrid2.DataBind();

Ich hab lieder keine Ahnung welcher Index gemeint sein könnte. Das einzige was mir einfällt ist das Argument E.Item.Cell[x].
Wie wird denn da gezählt? Es geht doch bestimmt bei null los, oder? Mein DataGrid hat die Felder: key, ipnummer, rechner und beschreibung. Wenn ich also auf die Textboxen von Rechner zugreifen will wäre das dann doch 2 und 3 oder?

18.01.2006 - 12:09 Uhr

Hallo
ich möchte in einer Webanwendung Daten in eine Datenbank zurück schreiben. Die Daten werden in einem DataGrid wie folgt angezeigt:

key ipnummer rechner beschreibung

genauso stehen sie auch in der Datenbank. Jetzt will ich den UpdateCommandButton des DataGrid nutzen um Daten zu ändern. Allerdings sollen die beiden ersten Spalten nicht verändert werden können. Habe bei beiden die ReadOnly Eigenschaft für diese Spalten auf "true". Ich hab bis jetzt folgendes


TextBox tbrechner = (TextBox)E.Item.Cells[2].Controls[0];
TextBox tbBeschr = (TextBox)E.Item.Cells[3].Controls[0];

string update ="UPDATE [172 16 1 x] SET key = @key, [IP-Nummer] = 172.16.1.1, Rechner = @rechner, Beschreibung = @beschr WHERE key = @key";

OleDbCommand com = new OleDbCommand(update);
			com.Parameters.Add("@key",DataGrid2.DataKeys[(int)E.Item.ItemIndex]);
		
com.Parameters.Add("@rechner", tbrechner);
com.Parameters.Add("@Berschr", tbBeschr);
com.Connection = oleDbConnection1;
com.Connection.Open();
com.ExecuteNonQuery();
com.Connection.Close();
DataGrid2.DataBind();

Ich bekommen aber bei ausführen eine Fehlermeldung:
Der Index (basierend auf Null) muss größer als oder gleich Null sein, und geringer als die Größe der Argumentenliste.
Angezeigt wird der Fehler in der ExecuteNonQuery Anweisung.

Kann mir jemand sagen wo mein Denkfehler liegt?
Vielen Dank im vorraus,
Tom

14.01.2006 - 11:33 Uhr

Hallo,

vielen Dank für eure Antworten. Das mit dem Parameter geht anscheinend wirklich nicht. Aber ich hab ne Lösung gefunden. Ich setze mir die SELECT Anweisung als String zusammen und übergebe sie der dem oleDbSelectCommand1.CommandText als variable.


string table=Request.QueryString["id"];
string select = "SELECT [IP-Nummer], Rechner, Beschreibung FROM ["+table+"]";
oleDbSelectCommand1.CommandText = select;

Damit funktioniert es.

Viele Grüße
Thomas

14.01.2006 - 02:09 Uhr

Hallo,

ich hab folgendes Problem. Ich will in einer SELECT Anweisung einen Parameter verwenden, allerdings nicht im WHERE Teil sondern bei FROM. Ich hab in eine Datenbank mehrer gleiche Tabellen und will davon eine bestimmte wählen.

Hab bis jetzt folgendes probiert:


string table=Request.QueryString["id"];
oleDbSelectCommand1.Parameters.Add("@tab",table);
oleDbSelectCommand1.CommandText = "SELECT [IP-Nummer], Rechner, Beschreibung FROM [@tab]";

table wird über den Anhang an der URL befüllt. Die übergabe funktioniert auch richtig. Aber es kommt immer wieder die Fehlermeldung das die Tabelle nicht gefunden werden konnte.

Kann man auch in der FROM Klausel der SELECT-Anweisung Parameter verwenden?

Vielen Dank schonmal für eure Hilfe
gruss, Tom

05.11.2005 - 20:10 Uhr

Ok also die Methode sieht wie folgt aus:


private void DataSet_update ()
		{
			dataSet11.Clear();
			
			oleDbDataAdapter1.Fill(dataSet11);
			oleDbDataAdapter2.Fill(dataSet11);
			oleDbDataAdapter3.Fill(dataSet11);
			oleDbDataAdapter4.Fill(dataSet11);
			oleDbDataAdapter5.Fill(dataSet11);
			oleDbDataAdapter6.Fill(dataSet11);
			oleDbDataAdapter7.Fill(dataSet11);
			oleDbDataAdapter8.Fill(dataSet11);
			
			dataGrid1.DataSource = this.dataSet11.TB_Video;
			dataGrid2.DataSource = this.dataSet11.TB_Provider;
			dataGrid3.DataSource = this.dataSet11.Update;

		}

05.11.2005 - 19:28 Uhr

Hallo, ich schon wieder.

Auch wenn es hier schon einige Einträge dazu gibt, so wirklich helfen die mir nicht weiter.
Ich möchte nachdem ich Daten in eine Tabelle geschrieben habe die tabelle neu laden.


string Name = tbUName.Text;
			string Descrip = tbUDescription.Text;
			string UName = tbUUsername.Text;
			string Pass = tbUPassword.Text;
			string Cat = cbUCategory.SelectedValue.ToString();
				
			try 
			{
				cmd = new OleDbCommand ("INSERT INTO TB_Provider (Provider_Name, Provider_Description, Provider_UserName, Provider_Password, Provider_MainCategory) VALUES ('"+Name+"','"+Descrip+"','"+UName+"','"+Pass+"','"+Cat+"')" );
				
				cmd.Connection = oleDbConnection1;
					
				oleDbConnection1.Open();	
				cmd.ExecuteNonQuery();
				
                                 DataSet_updaten();

				oleDbConnection1.Close();
				
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message);
			}

Mit DataSet_updaten rufe ich eine Methode auf die erst den Inhalt des dataSet löscht und dann von den DatenAdaptern neu befüllt wird. Allerdings gibt es hier ein Problem. Wenn ich die Methode beim Laden des Forms aufrufe funktioniert noch alles. Wenn ich sie aber ein zweites mal aufrufe stürtzt das Programm ab. Es kommt aber auch keine Fehlermeldung. Wie kann man denn sonst ein datagrid aktualisieren

P.S. das dataGrid1.DataSource steht auch in der Methode DataSet_update

05.11.2005 - 14:32 Uhr

Hallo Franknstein,

vielen Dank für deine Antwort. Hat mir weitergeholfen. Mit deinem Beispiel gehts.
Viele Grüße
Thomas

04.11.2005 - 22:19 Uhr

Hallo,

ich hab da mal wieder ein Problem.
Ich muss aus einer Tabelle den höchsten Wert (Screen_Height) suchen und in eine andere Tabelle eintragen. Meine Idee dazu sah so aus:



                                int t2 = 0;
				string w2;
				int w3;
				foreach (DataRow row in dataSet21.TB_Screen.Rows)
				{
					string a2 = row["Screen_Height"].ToString();
					int b2= Convert.ToInt32(a2);
					if (b2 > t2) 
					{
						t2=b2;
						w2 = row["Screen_Id"].ToString();
						
					}
						
				}
				
				cmd = new OleDbCommand ("INSERT INTO TB_Video (Video_Name,Video_Description,Video_Category,Video_ProviderName,Video_KBit,Video_ScreenWidth,Video_TargetPath) VALUES ('"+v1+"','"+v2+"','"+v3+"','"+v4+"','"+t+"','"+w2+"','"+Videopfad+"')" );

Mein Problem ist das ich eine Fehlermeldung bekomme das die Variable w2 nicht zugewiesen wurde. Aber meiner Meinung nach sollte da doch der Wert Screen_Id der aktuellen Zeile stehen. Also nach dem die Schleife alle Zeilen durchlaufen hat müsste doch eigentlich der höchste Wert von Screen_Heights ermittelt und in w2 die dazugehörige Id stehen (diese soll dann mit der Insert anweisung übergeben werden). Oder hab ich da einen Denkfehler, warum funktioniert nicht.

P.S. Wenn ich statt w2 den Wert von t2 in der Insert-Anweisung übergebe, dann wird auch dieser Wert in der Tabelle eingetragen. aber ich brauch ja nicht diesen Wert sondern die entsprechende Id.
Hoffe ich habs einigermassen erklären können.
Viele Grüße
Thomas

13.10.2005 - 00:30 Uhr

Hallo,

sorry aber ich habe noch mal eine Frage dazu. Komme einfach nicht weiter.

Ich habe die Foreach Schleife wie oben erklärt gemacht. Jetzt brauche ich aber bei jeder durchlaufenden Zeile einen Wert aus einer bestimmte Spalte in der Zeile.
Ich habs mit

string r= dataSet.TB_Bitrate.Columns[1];

versucht. Aber das liefert ja nicht den Wert der in dieser Spalte steht.

Also in der Tabelle stehen Bitraten(zwei Spalten: Id und Bitrate) und ich will jetzt die Tabelle von oben nach unten durchgehen und bei jeder Zeile den Wert der in der Spalte: Bitrate steht als Variable haben, damit ich damit weiter arbeiten kann.

Hoffe das war jetzt einigermassen verständlich ausgedrückt.
Vielen Grüße

12.10.2005 - 19:37 Uhr

Hallo Noodles,

tausend Dank..das ging ja super schnell.
Werd es gleich mal ausprobieren.
Viele Grüße
Thomas

12.10.2005 - 19:27 Uhr

Hallo,

hab mal wieder eine Frage. Hab beim suchen nix gefunden.

Also:
Ich habe eine Datenbank aus der ich Informationen in mein Programm ziehe. Jetzt brauche ich ein For-Schleife die solange weiterzählt wie die Tabelle Zeilen hat. Hab aber keine Ahnung wie das gehen soll.
Außerdem suche ich eine Möglichkeit auf eine bestimmte Zeile in der Tabelle zuzugreifen.
Hab´s mit dataSet.Tabellenname.Spaltenname_ probiert, funktioniert aber nicht. Ich hoffe ihr könnt mir weiterhelfen.

Vielen Dank im vorraus.
Thomas

19.08.2005 - 14:17 Uhr

Hallo,

Vielen Dank für eure Hilfe ihr habt mir sehr geholfen.

Viele Grüße
Thomas

17.08.2005 - 21:58 Uhr

Hallo,

super, vielen Dank. Jetzt geht es. Musste wirklich ExecuteNonQuery verwenden.
Vielen Dank für eure Hilfe.

Aber ich habe noch eine Frage:
Wie kann ich in der UPDATE-Anweisung statt eines Strings eine Variable einbauen. Oder kann ich direkt in der Anweisung auf ein bestimmtes Feld (Z.B eine Textbox1 oder einen Wert aus dem DataSet) verweisen.

Viele Grüße
Thomas

17.08.2005 - 16:30 Uhr

Hi,

also irgendwie stehe ich immer noch auf dem Schlauch, sorry.
Ich hab die UPDATE Anweisung jetzt mal ganz einfach gemacht. Also nur eine Tabelle und nur ein zu ändender Wert.


this.oleDbUpdateCommand1.CommandText = "UPDATE TB_Video SET TB_Video.Video_Name = 'abs' WHERE TB_Video.Video_Id = '22' ";

Trotzdem funktioniert es nicht. Was mache ich den noch falsch.

Viele Grüße
Thomas

17.08.2005 - 16:00 Uhr

Hallo erst mal danke für die Antworten.

also ich habe eine Update Funktion erstellt:


this.oleDbUpdateCommand1.CommandText = "UPDATE TB_Video, TB_Category, TB_Provider SET TB_Video.Video_Name = 'abs', TB_Video.Video_Description = 'abc', TB_Category.Category_Name = 'abf',TB_Provider.Provider_Name = 'ads' WHERE TB_Video.Video_Id = '22' ";

die Werte sind jetzt nur mal zum vesuch um zu schauen ob überhaupt was passiert.

Mein Problem ist halt das ich Werte aus drei verschiedenen Tabellen habe, die geändert werden sollen. Geht das überhaupt mit dur einer UPDATE Anweisung oder brauch ich da mehrere dafür? Die Tabelle sind untereinander mit Relationen verbunden. Bei der Select Anweisung klappt das auch wunderbar.

17.08.2005 - 15:26 Uhr

Ja klar, gerne:

also ich erstelle einen Dataenadapter mit einer SELECT und einer UPDATE anweisung. Diesen lade ich in das dataSet22. Dann lasse ich ein Datagrid und vier Textboxen aus diesem dataSet befüllen. Soweit so gut. Wenn ich jetzt Werte in den Textboxen ändere und auf den update button klicke sollte er den die Werte in die datenbank zurück schreiben. Bisher werden die Daten nur im Dataset geändert aber nicht in der Datei der Datenbank.

Beim Klicken des Button geschieht gar nichts, also keine Fehlermeldung usw. lediglich das dataSet wird geändert. An der Datenbank passiert nichts.

...p.s. der Ausdruck WHERE TB_Video.Video_Id = 22 in der Update Anweisung ist nur mal zum Versuch ob er überhaupt was macht.

Viele Grüße Thomas

17.08.2005 - 12:16 Uhr

Hallo,

ich habe ein Problem mit meinem Programm: Ich möchte Daten aus eine Access-DB auslesen und verändern. Das Auslesen geht wunderbar nur bei Schreiben hackts. Hab schon alles mögliche versucht und auch schon das Forum durchsucht, aber konnte mein Problem nicht lösen. Vieleich kann mir ja einer von euch weiter helfen.


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.IO;

namespace Medienprojekt
{
/// <summary>
/// Zusammenfassung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Data.OleDb.OleDbConnection oleDbConnection1;
private System.Data.OleDb.OleDbCommand oleDbSelectCommand1;
private System.Data.OleDb.OleDbCommand oleDbUpdateCommand1;
private System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter1;
private Medienprojekt.DataSet2 dataSet22;
private System.Windows.Forms.Button bt_update;
private System.Data.OleDb.OleDbCommandBuilder cb1;
private System.Data.OleDb.OleDbCommandBuilder cb2;
private System.Data.OleDb.OleDbCommandBuilder cb3;
private System.Data.OleDb.OleDbCommandBuilder cb4;

private System.ComponentModel.Container components = null;

public Form1()
{
InitializeComponent();
this.components =new System.ComponentModel.Container();

//Erstellt NotifyIcon
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon (this.components);
notifyIcon1.Icon = new Icon("App.ico";);
notifyIcon1.Text = "Administrator Tool";
notifyIcon1.Visible = false;

notifyIcon1.DoubleClick += new System.EventHandler (this.notifyIcon1_DoubleClick);

}

protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Vom Windows Form-Designer generierter Code
private void InitializeComponent()
{
System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();

this.oleDbConnection1 = new System.Data.OleDb.OleDbConnection();
this.oleDbSelectCommand1 = new System.Data.OleDb.OleDbCommand();
this.oleDbUpdateCommand1 = new System.Data.OleDb.OleDbCommand();
this.oleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter();
this.bt_update = new System.Windows.Forms.Button();

this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
this.groupBox1.SuspendLayout();
this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).BeginInit();
this.groupBox2.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataSet22)).BeginInit();
this.SuspendLayout();
//
// oleDbConnection1
//
this.oleDbConnection1.ConnectionString = ((string)(configurationAppSettings.GetValue("oleDbConnection1.ConnectionString", typeof(string))));
//
// oleDbSelectCommand1
//
this.oleDbSelectCommand1.CommandText = @"SELECT TB_Video.Video_Id, TB_Video.Video_Name, TB_Video.Video_Description, TB_Category.Category_Name AS Kategorie, TB_Path.Path_TargetPath, TB_Screen.Screen_Width, TB_Screen.Screen_Height, TB_Bitrate.Bitrate_KBit, TB_Provider.Provider_Name, TB_Provider.Provider_Description, TB_Provider.Provider_MainCategory, TB_Provider.Provider_UserName FROM TB_Video, TB_Category, TB_Path, TB_Screen, TB_Bitrate, TB_Provider WHERE TB_Video.Video_Category=TB_Category.Category_Id And TB_Video.Video_TargetPath=TB_Path.Path_Id And TB_Video.Video_ScreenWidth=TB_Screen.Screen_Id And TB_Video.Video_KBit=TB_Bitrate.Bitrate_Id And TB_Video.Video_ProviderName=TB_Provider.Provider_Id";
this.oleDbSelectCommand1.Connection = this.oleDbConnection1;
//
// oleDbUpdateCommand1
//
this.oleDbUpdateCommand1.CommandText = @"UPDATE TB_Video, TB_Category, TB_Provider SET TB_Video.Video_Name, TB_Video.Video_Description, TB_Category.Category_Name,TB_Provider.Provider_Name WHERE TB_Video.Video_Id = 22";
this.oleDbUpdateCommand1.Connection = this.oleDbConnection1;
//
// oleDbDataAdapter1
//

this.oleDbDataAdapter1.SelectCommand = this.oleDbSelectCommand1;
this.oleDbDataAdapter1.UpdateCommand = this.oleDbUpdateCommand1;
this.oleDbDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
new System.Data.Common.DataTableMapping("Table", "Auswahl", new System.Data.Common.DataColumnMapping[0])});
//
// dataGrid1
//
this.dataGrid1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dataGrid1.DataMember = "";
this.dataGrid1.DataSource = this.dataSet22._Table;
this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid1.Location = new System.Drawing.Point(16, 248);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.Size = new System.Drawing.Size(768, 288);
this.dataGrid1.TabIndex = 1;
this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
this.dataGridTableStyle1});
this.dataGrid1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dataGrid1_MouseUp);
this.dataGrid1.Navigate += new System.Windows.Forms.NavigateEventHandler(this.dataGrid1_Navigate);
//
// dataGridTableStyle1
//
this.dataGridTableStyle1.DataGrid = this.dataGrid1;
this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGridTableStyle1.MappingName = "";
//
// bt_update
//
this.bt_update.Location = new System.Drawing.Point(480, 168);
this.bt_update.Name = "bt_update";
this.bt_update.Size = new System.Drawing.Size(75, 32);
this.bt_update.TabIndex = 14;
this.bt_update.Text = "Datenbank updaten";
this.bt_update.Click += new System.EventHandler(this.bt_update_Click);
//
// dataSet22
//
this.dataSet22.DataSetName = "DataSet2";
this.dataSet22.Locale = new System.Globalization.CultureInfo("de-DE";);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(792, 566);
this.Controls.Add(this.tabControl1);
this.Menu = this.mainMenu1;
this.MinimumSize = new System.Drawing.Size(800, 600);
this.Name = "Form1";
this.Text = "Administrator Tool";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);
this.Load += new System.EventHandler(this.Form1_Load);
this.tabPage1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
this.groupBox1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).EndInit();
this.groupBox2.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataSet22)).EndInit();
this.ResumeLayout(false);

}
#endregion


/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{

Application.Run(new Form1());


}

private void Form1_Closing(object sender, CancelEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized ;


}

private void Form1_Load(object sender, System.EventArgs e)
{
this.Resize += new EventHandler(Form1_Resize);
notifyIcon1.DoubleClick +=new EventHandler (notifyIcon1_DoubleClick);
this.WindowState = FormWindowState.Maximized;


oleDbConnection1.Open();
//cb1 = new OleDbCommandBuilder(oleDbDataAdapter1);
cb2 = new OleDbCommandBuilder(oleDbDataAdapter2);
cb3 = new OleDbCommandBuilder(oleDbDataAdapter3);
cb4 = new OleDbCommandBuilder(oleDbDataAdapter4);

dataSet22.Clear();
oleDbDataAdapter1.Fill(dataSet22);
this.oleDbDataAdapter1.AcceptChangesDuringFill= false;
oleDbDataAdapter2.Fill(dataSet22);
oleDbDataAdapter3.Fill(dataSet22);
oleDbDataAdapter4.Fill(dataSet22);
oleDbConnection1.Close();
textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet22, "Table.Video_Name";));
textBox2.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet22, "Table.Video_Description";));
textBox3.Text = this.BindingContext[dataSet22, "Table"].Position.ToString();

comboBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet22, "Table.Kategorie";));
comboBox2.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet22, "Table.Provider_Name";));
comboBox1.DataSource = this.dataSet22;
comboBox1.ValueMember = "Category.Category_Name";
comboBox2.DataSource = this.dataSet22;
comboBox2.ValueMember = "Provider.Provider_Name";
textboxen_fill(0) ;
}

private void notifyIcon1_DoubleClick (object Sender, EventArgs e)
{
notifyIcon1.Visible = false;
//this.ShowInTaskbar = true;
this.Show();
this.Activate();
//this.WindowState = FormWindowState.Normal ;
//öffnet Form1 bei DoubleClick auf NotifyIcon
}

private void Form1_Resize (object Sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal ;
this.Hide();

//this.ShowInTaskbar = false;
notifyIcon1.Visible = true;
//beim minimieren wird die Taskbar aus und der Notifyicon eingeblendet
}
}

public void textboxen_fill (int currentindex)
{
this.BindingContext[dataSet22, "Table"].Position = currentindex;
}

private void btVideoNeu_Click(object sender, System.EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}

private void bt_update_Click(object sender, System.EventArgs e)
{
if (dataSet22.HasChanges())
{
try
{

oleDbConnection1.Open();
dataSet22.AcceptChanges();
oleDbDataAdapter1.Update(dataSet22);
oleDbConnection1.Close();
//MessageBox.Show("ok";);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

}

private void btnNext_Click(object sender, System.EventArgs e)
{
this.BindingContext[dataSet22, "Table"].Position +=1;
textBox3.Text = this.BindingContext[dataSet22, "Table"].Position.ToString();
}

private void btnPrevious_Click(object sender, System.EventArgs e)
{
if(this.BindingContext[dataSet22, "Table"].Position == 0)
{
MessageBox.Show("Anfang";);
}
else
{
this.BindingContext[dataSet22,"Table"].Position -=1;
}
textBox3.Text = this.BindingContext[dataSet22, "Table"].Position.ToString();
}
}

}
}



Ich hab den Code ein wenig kürzen müssen, aber das wichtigste zum Problem sollte drin sein. Ich weiß ist alles ein wenig unübersichtlich aber erstens bin ich noch anfänger und zweitens soll es erst mal ein versuch sein.
Hoffe mir kann jemand helfen.
Vielen Dank im vorraus.