[C# .net] Access koppeling met NumericUpDown

Pagina: 1
Acties:

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Ik heb een applicatie gebouwd waarin in design modus een aantal databindings zijn gemaakt met textboxen en een varchar veld uit de access (2002) database. Nu heb ik ook een NumericUpDown component die ik ook via een databinding probeer te koppelen met een kolom uit de access database. Echter op moment dat ik die koppeling toevoeg en mijn programma ga runnen, dan wordt er geen enkel veld meer gevuld en ook geen foutmelding weergegeven.

Ik heb voor deze koppeling in de access database als eerste het type Integer gebruikt van Numeriek en later ze allemaal geprobeerd, alleen werkt geen van de getal typen :? Iemand enig idee hoe ik de juiste koppeling hiervoor kan maken?

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Laat je huidige code eens zien van waar het ongeveer fout gaat en gebruik er wel gewoon int32/integer voor.

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
eghie schreef op 05 juli 2004 @ 12:04:
Laat je huidige code eens zien van waar het ongeveer fout gaat en gebruik er wel gewoon int32/integer voor.
Ik laat alle code genereren wat betreft de databindings door VS zelf. De onderstaande code is van "nrweek" van het type NumericUpDown ;)

Ik kan niet zeggen waar het fout gaat, want dat geeft hij niet aan. Ik weet wel zoals ik hierboven ook zei dat wanneer ik deze databinding weglaat dat de databindings van de textboxen ineens wel weer werken.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            this.nrweek.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.nrweek.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.dsdraaiboek1, "Table.Week"));
            this.nrweek.Location = new System.Drawing.Point(135, 128);
            this.nrweek.Maximum = new System.Decimal(new int[] {
                                                                   52,
                                                                   0,
                                                                   0,
                                                                   0});
            this.nrweek.Minimum = new System.Decimal(new int[] {
                                                                   1,
                                                                   0,
                                                                   0,
                                                                   0});
            this.nrweek.Name = "nrweek";
            this.nrweek.Size = new System.Drawing.Size(456, 20);
            this.nrweek.TabIndex = 21;
            this.nrweek.Value = new System.Decimal(new int[] {
                                                                 1,
                                                                 0,
                                                                 0,
                                                                 0});

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
*iemand?

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Leg je probleem eens wat duidelijker uit, want ik snap hem niet. Wat wil je met die numericupdown? Wat moet ermee gebeuren?

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
eghie schreef op 06 juli 2004 @ 18:16:
Leg je probleem eens wat duidelijker uit, want ik snap hem niet. Wat wil je met die numericupdown? Wat moet ermee gebeuren?
Ik wil dus graag met die nummericupdown een koppeling leggen tussen de database (access via een dataadapter etc...) en het component numericupdown. Dit doe ik ook al door een textbox te koppelen met de database door een databinding. Echter werkt dat met de textbox prima, gewoon type tekst bij access en type string bij C#. Maar met numericupdown krijg ik het niet voor elkaar...

Ik denk persoonlijk dat het komt omdat de typen niet op elkaar zijn afgestemd, maar ik heb al van alles geprobeerd en kan niet tot de juiste combinatie komen...

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Ik heb er geen probleem mee:

code:
1
2
3
4
5
6
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
            
da.Fill(ds);
            
numericUpDown1.DataBindings.Add ("Value", ds.Tables[0], "id");


code:
1
2
3
4
private void button2_Click(object sender, System.EventArgs e)
{
    MessageBox.Show (ds.Tables[0].Rows[0]["id"].ToString());
}


niet op de code letten, deze heb ik net in elkaar geflanst om dit te testen.

https://fgheysels.github.io/


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
whoami schreef op 06 juli 2004 @ 21:55:
Ik heb er geen probleem mee:

code:
1
2
3
4
5
6
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
            
da.Fill(ds);
            
numericUpDown1.DataBindings.Add ("Value", ds.Tables[0], "id");


code:
1
2
3
4
private void button2_Click(object sender, System.EventArgs e)
{
    MessageBox.Show (ds.Tables[0].Rows[0]["id"].ToString());
}


niet op de code letten, deze heb ik net in elkaar geflanst om dit te testen.
Gebruik je nu ook een Access database? Zo ja: van welk type is "id"? Enuh... Ik gebruik trouwens een OLEDBDataAdapter.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Ik heb -bij wijze van test- een SQL Server DB gebruikt.
Of je nu Access of SQL Server gebruikt; dat zou niet mogen uitmaken, aangezien je databinding niets met de DB te maken heeft: je koppelt aan een object dat offline is en niets van de onderliggende DB afweet.

https://fgheysels.github.io/


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
whoami schreef op 07 juli 2004 @ 11:16:
Ik heb -bij wijze van test- een SQL Server DB gebruikt.
Of je nu Access of SQL Server gebruikt; dat zou niet mogen uitmaken, aangezien je databinding niets met de DB te maken heeft: je koppelt aan een object dat offline is en niets van de onderliggende DB afweet.
Ik snap er niets van. Is er misschien iemand die dezelfde situatie kan simuleren als wat ik van plan ben? Dus met een access database via een OLEDB koppeling naar een NumericUpDown? Het werkt namelijk niet :'(

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Die koppeling doet er niets toe, want je dataset/datatable/whatever custom object weet niets af van die databank of koppeling.
Een dataset/datatable is een offline storage.

Hoe ziet de databinding voor die textboxen er uit?

https://fgheysels.github.io/


  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

whoami schreef op 07 juli 2004 @ 16:17:
Die koppeling doet er niets toe, want je dataset/datatable/whatever custom object weet niets af van die databank of koppeling.
Een dataset/datatable is een offline storage.

Hoe ziet de databinding voor die textboxen er uit?
Nee maar je dataset moet wel gevuld wezen.

Ga eens na met de debugger of de dataset is gevuld en wat voor data de dataset bevat en kijk ook wat de databinding voor waardes heeft.

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Ik weet eigenlijk wel voor 100% zeker dat de dataset gevuld is. Als ik namelijk de databinding van de NumericUpDown weglaat, werkt alles en worden de textboxen via de databinding keurig gevuld en geupdate...

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
* Niemand? :|

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Nee, je komt gewoon met te weinig informatie over de brug.

Heb je die databinding al eens gemaakt zoals ik hier al gepost heb?

https://fgheysels.github.io/


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
whoami schreef op 09 juli 2004 @ 09:04:
Nee, je komt gewoon met te weinig informatie over de brug.

Heb je die databinding al eens gemaakt zoals ik hier al gepost heb?
Nee, ik heb de databindings niet zo aangemaakt als jou, omdat ik met een andere koppeling/database werk... En als ik idd te weinig informatie geef: zeg me alsjeblieft wat je hebben moet, want ik d8 dat ik voldoende info gaf...

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Voor de n-de keer: je databinding heeft niets met je databank en koppeling te maken.
Ik heb een voorbeeldje getoond met de SqlClient provider omdat ik een SQL Server DB gebruik. Jij gebruikt een Access DB en je kan hetzelfde bereiken met de OleDb provider.

https://fgheysels.github.io/


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
whoami schreef op 09 juli 2004 @ 09:28:
Voor de n-de keer: je databinding heeft niets met je databank en koppeling te maken.
Ik heb een voorbeeldje getoond met de SqlClient provider omdat ik een SQL Server DB gebruik. Jij gebruikt een Access DB en je kan hetzelfde bereiken met de OleDb provider.
Ok, sorry dat ik je niet goed begrepen had. Ik heb de designer code van VS even aangepast naar zoals jij het gedaan had. Het was eerst zo dat wanneer ik dus een databinding maakte volgens de VS manier gebeurde er ook niks met de databindings van de textboxen. Nu ik het via jouw manier doe, worden de textboxen wel gevuld via de databindings alleen de NumericUpDown zelf nog niet...

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Hoe heb je die databindings nu gedaan; toon eens wat relevante code.

https://fgheysels.github.io/


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
whoami schreef op 09 juli 2004 @ 10:24:
Hoe heb je die databindings nu gedaan; toon eens wat relevante code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            this.nrweek.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.nrweek.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.dsdraaiboek1.Tables[0], "Week"));
            this.nrweek.Location = new System.Drawing.Point(135, 128);
            this.nrweek.Maximum = new System.Decimal(new int[] {
                                                                   52,
                                                                   0,
                                                                   0,
                                                                   0});
            this.nrweek.Minimum = new System.Decimal(new int[] {
                                                                   1,
                                                                   0,
                                                                   0,
                                                                   0});
            this.nrweek.Name = "nrweek";
            this.nrweek.Size = new System.Drawing.Size(456, 20);
            this.nrweek.TabIndex = 21;
            this.nrweek.Value = new System.Decimal(new int[] {
                                                                 1,
                                                                 0,
                                                                 0,
                                                                 0});
Pagina: 1