Toon posts:

[asp.net] volgende record van access tabel weergeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo allemaal

ik ben nog maar pas bezig met asp.net en ben daarvoor bezig geweest met asp.

nu heb ik een pagina gemaakt waar al de gegevens van een klant te voorschijn komen wanneer ik deze pagina laad. Dit doe ik op de volgende manier. Eerst kom ik op een default pagina waar ik verscheidene links heb opstaan om zo naar de gepaste pagina te gaan. De code achter zo een link is:
code:
1
2
Session("status") = "begin"
Response.Redirect("klanten.aspx")


vervolgens op de pagina waar ik naartoe ga (hier klanten.aspx) staat het volgende bij de page load:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
If Session("status") = "begin" Then
            knoppenStandaard() 'hier roept men een sub module op waar de knoppen goed worden gezet
            Dim conn As New OleDbConnection
            conn = New OleDbConnection(ConfigurationManager.ConnectionStrings("databaseConnectionWiber").ToString())
            'Dim conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Websites\web_assem.net\db\wiber.mdb")
            Dim strselectcmd As New OleDbCommand("select * from tblKlanten", conn)
            Dim rdr As OleDbDataReader
            conn.Open()
            rdr = strselectcmd.ExecuteReader()
            Try
                While rdr.Read
                    kCode.Text = rdr("kCode")
                    kNaam.Text = rdr("kNaam")
                    kNaam2.Text = rdr("kNaam2")
                    kFactuurtype.Text = rdr("kFactuurtype")
                    kAdres.Text = rdr("kAdres")
                    kPostcode.Text = rdr("kPostcode")
                    kGemeente.Text = rdr("kGemeente")
                    kTel.Text = rdr("kTel")
                    kBtw.Text = rdr("kBTW")
                    kFax.Text = rdr("kFax")
                    kEmail.Text = rdr("kEmail")
                End While
            Catch
            Finally
                conn.Close()
                rdr.Close()
            End Try
end if
end sub


Dit werkt allemaal naar behoren. Vervolgens heb ik een knop invoer toegevoegd waar de session("status") = "invoer"
hier wordt vervolgens al de tekstvakken leeggemaakt zodanig ik iets kan invullen in mijn database. Dit lukt ook nog, tevens voor gegevens te zoeken en te bewerken is er geen probleem.

Maar nu wil ik wanneer ik op de knop volgend of vorig druk naar een volgend of vorig record gaan in mijn database en die laten weergeven. Ik heb op het net gezocht achter een manier om dit te doen en daar stond iets van nextresult(). Ik ben dan verder gaan zoeken naar een oplossing om dit aan te pakken en ik kwam op de volgende url terecht How To Handle Multiple Results by Using the DataReader in Visual Basic .NET zo kan ik mijn records tellen. Ik heb vervolgens geprobeerd om die code om te zetten zodanig dat wanneer ik op de knop volgend druk, een volgend record uit men tabel weer gegeven wordt maar dit wilt niet lukken

Kan er mij iemand hiermee helpen??

Mvg

Verwijderd

Beste Salle,

Als ik het goe begrijp wil je door de records in een dataset heen bladeren door op volgende en vorige te klikken?
Je moet begrijpen dat een datareader alleen door een recordset kan lopen zolang deze open is. Als je pagina is geladen en je klikt op volgende dan zul je op de een of andere manier moeten achterhalen welkrecord er weergegeven moet worden. Je zou een parameter kunnen meegeven aan de knop die de ID bevat van de volgende record.

Maar check ook even de detailsview en datagrid controls. Deze bevatten veel functionaliteit die je anders zelf moet coderen.

Check hier even voor wat voorbeelden: http://samples.gotdotnet..../aspplus/doc/default.aspx

succes

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Kijk eens naar de pagedDataSource en Repeater of formview control.

Een datagrid is nogal een heavy control IMO.

http://www.charon.co.uk/c...ategoryID=28&ArticleID=21

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

Topicstarter
Bedankt voor de info, ik ga deze avond eens kijken of het lukt en dan laat ik wel iets weten

Verwijderd

Topicstarter
amai, ik ben aan het bekijken geweest hoe ik dat zou kunnen oplossen en een paar dingen geprobeerd maar ik heb precies den indruk dat ik er verkeert mee bezig ben om mijn data te laten weergeven

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 01-12 21:54
Als je bezig bent in .NET 2.0 moet je eens even kijken naar de Data Tutorials van Scott Mitchell.

Verwijderd

Topicstarter
lukt het met een datagrid of dataview om het beeld er hetzelfde te laten uitzien als dit
http://users.skynet.be/pieter.s/voorbeeld.JPG

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 01-12 21:54
Microsoft heeft daar zelfs speciale server controls voor gemaakt, FormView en/of DetailsView. DetailsView bevat al wat standaardt eigenschappen zodat het out-of-the-box werkt. Met een FormView heb je meer vrijheid maar kost het veel meer tijd om alles te configuren. Ook paging zit er al standaard in verwerkt.

Als ik jouw was zou ik me eerst maar eens gaan verdiepen in wat ASP.NET allemaal te bieden heeft, voordat je het wiel opnieuw gaat uitvinden.

Verwijderd

Topicstarter
ik heb mij even "verdiept" hoe een formview werkt en mits enkele aanpassingen ben ik tot de oplossing gekomen voor mijn paging

Maar ik heb nu een ander klein vraagje, hoe kan ik het beste zoeken naar een record uit mijn tabel?? Zoals je kunt zien op http://users.skynet.be/pieter.s/voorbeeld.JPG is er ook nog een knop zoeken bij waarmee je iemand (of een code) uit de tabel kan zoeken. Hoe kan ik dit het beste in asp.net oplossen?? Een aparte pagina nemen en daarin gaan zoeken of lukt dit ook allemaal in dezelfde formview. Ik heb op het net wat aant zoeken geweest maar ik vind niet direct een oplossing hiervoor

Verwijderd

Topicstarter
iemand enig idee??

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Hoe bepaal je nu welk record getoond wordt?

Verwijderd

Topicstarter
Dit is de code dat ik nu gebruik

kan je je even beperken tot enkel de relevante code ? Het is niet de bedoeling om hier 200 regels code te posten, waarvan de helft niet relevant is
Dit begint trouwens meer en meer op een request te lijken voor kant en klare code, en dit laten we hier niet toe.

[ Voor 122% gewijzigd door whoami op 06-12-2006 11:34 ]


Verwijderd

Topicstarter
Dit is niet een request voor kant en klare code maar gewoon een vraag of iemand mij hiermee opweg zou kunnen helpen.

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Met de code die je eerst postte krijg je volgens mij altijd alleen de laatste record te zien. Gebruik je nu een dataset dat je bind aan de formview? In dat geval met je met je volgende/vorige knop alleen de huidige record in de dataset te veranderen. Kun je de relevante code posten (dus alleen het ophalen van de data en het koppelen aan de formview.

offtopic:
Een tip, zeker voor je laatste vraag: we waarderen het altijd op dit forum als je bij je vraag aangeeft wat je al geprobeerd hebt en waarom dat volgens jou niet werkt (uiteraard zonder je hele code integraal te posten). Lees ook eens: Een goede topicstart

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/db/Wiber.mdb"
                SelectCommand="SELECT * FROM [tblKlanten]" DeleteCommand="DELETE FROM [tblKlanten] WHERE [kCode] = ?"
                InsertCommand="INSERT INTO [tblKlanten] ([kCode], [kNaam], [kNaam2], [kAdres], [kPostcode], [kGemeente], [kBTW], [kTel], [kFax], [kFactuurtype], [kEmail]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
                OldValuesParameterFormatString="original_{0}" UpdateCommand="UPDATE [tblKlanten] SET [kNaam] = ?, [kNaam2] = ?, [kAdres] = ?, [kPostcode] = ?, [kGemeente] = ?, [kBTW] = ?, [kTel] = ?, [kFax] = ?, [kFactuurtype] = ?, [kEmail] = ? WHERE [kCode] = ?">
                <DeleteParameters>
                    <asp:Parameter Name="original_kCode" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="kNaam" Type="String" />
                    <asp:Parameter Name="kNaam2" Type="String" />
                    <asp:Parameter Name="kAdres" Type="String" />
                    <asp:Parameter Name="kPostcode" Type="String" />
                    <asp:Parameter Name="kGemeente" Type="String" />
                    <asp:Parameter Name="kBTW" Type="String" />
                    <asp:Parameter Name="kTel" Type="String" />
                    <asp:Parameter Name="kFax" Type="String" />
                    <asp:Parameter Name="kFactuurtype" Type="String" />
                    <asp:Parameter Name="kEmail" Type="String" />
                    <asp:Parameter Name="original_kCode" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="kCode" Type="Int32" />
                    <asp:Parameter Name="kNaam" Type="String" />
                    <asp:Parameter Name="kNaam2" Type="String" />
                    <asp:Parameter Name="kAdres" Type="String" />
                    <asp:Parameter Name="kPostcode" Type="String" />
                    <asp:Parameter Name="kGemeente" Type="String" />
                    <asp:Parameter Name="kBTW" Type="String" />
                    <asp:Parameter Name="kTel" Type="String" />
                    <asp:Parameter Name="kFax" Type="String" />
                    <asp:Parameter Name="kFactuurtype" Type="String" />
                    <asp:Parameter Name="kEmail" Type="String" />
                </InsertParameters>
            </asp:AccessDataSource>


Om mijn vorige en volgende record te laten zien is in orde maar ik zou nu graag een knop zoeken erbij willen zetten. van zodra ik op deze knop druk dat ik een tekstvak krijg waar ik mijn klantcode kan in invullen en vervolgens wanneer ik op OK bv klik ik al de gegevens krijg van die klant om ze vervolgens te kunnen bewerken bv

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:25

Creepy

Tactical Espionage Splatterer

Prima. Ga je gang...

.....

..... dus wat heb je nu al geprobeerd? Wat lukte er niet mee? We blijven je natuurlijk niet elke keer hiermee op weg helpen. Hier in PRG verwachten we van je dat je zelf eerst er actief mee aan de slag gaat, iets wat je met je laatste wens (wens ja, ik zie geen concrete vraag staan) niet gedaan hebt. Indien je dat wel hebt gedaan, zie mijn vorige twee vragen.

[ Voor 6% gewijzigd door Creepy op 06-12-2006 20:46 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Creepy

Ik heb op het internet aan het zoeken geweest hoe je dit kan verwezelijken met een formview maar ik heb niet direct iets gevonden ofwel geef ik verkeerde zoekwaarden in dat zou ook kunnen. Ik had eerst iets gemaakt waarmee ik wel naar waarden kon zoeken maar via deze methode kon ik niet mijn volgende of vorige record uit men tabel mee laten zien (zie eerste post)

Verwijderd

Topicstarter
Ik heb nu het volgende geprobeerd, bovenaan mijn pagina een tekstbox en een knop gezet waar ik mijn waarde kan in invullen waarnaar hij moet zoeken. Vervolgens in mijn sql gezet dat kCode moet gelijk zijn aan de waarde die in dat tekstvak staat. Wanneer ik nu een klantcode ingeef dan vind hij deze code ook en geeft hij deze weer maar nu werken mijn vorige en volgende knoppen niet meer

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 <form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Text="Geef hier uw te zoeken waarde in en druk hierna op enter:"></asp:Label>
    <asp:TextBox ID="txtZoek" runat="server"></asp:TextBox>
        <asp:Button ID="btnZoek" runat="server" Text="Zoek" /><div>
            <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/db/Wiber.mdb"
               SelectCommand="SELECT * FROM [tblKlanten] WHERE ([kCode] = ?)" DeleteCommand="DELETE FROM [tblKlanten] WHERE [kCode] = ?"
                InsertCommand="INSERT INTO [tblKlanten] ([kCode], [kNaam], [kNaam2], [kAdres], [kPostcode], [kGemeente], [kBTW], [kTel], [kFax], [kFactuurtype], [kEmail]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
                OldValuesParameterFormatString="original_{0}" 
                UpdateCommand="UPDATE [tblKlanten] SET [kNaam] = ?, [kNaam2] = ?, [kAdres] = ?, [kPostcode] = ?, [kGemeente] = ?, [kBTW] = ?, [kTel] = ?, [kFax] = ?, [kFactuurtype] = ?, [kEmail] = ? WHERE [kCode] = ?">
                <DeleteParameters>
                    <asp:Parameter Name="original_kCode" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="kNaam" Type="String" />
                    <asp:Parameter Name="kNaam2" Type="String" />
                    <asp:Parameter Name="kAdres" Type="String" />
                    <asp:Parameter Name="kPostcode" Type="String" />
                    <asp:Parameter Name="kGemeente" Type="String" />
                    <asp:Parameter Name="kBTW" Type="String" />
                    <asp:Parameter Name="kTel" Type="String" />
                    <asp:Parameter Name="kFax" Type="String" />
                    <asp:Parameter Name="kFactuurtype" Type="String" />
                    <asp:Parameter Name="kEmail" Type="String" />
                    <asp:Parameter Name="original_kCode" Type="Int32" />
                </UpdateParameters>
                
                <InsertParameters>
                    <asp:Parameter Name="kCode" Type="Int32" />
                    <asp:Parameter Name="kNaam" Type="String" />
                    <asp:Parameter Name="kNaam2" Type="String" />
                    <asp:Parameter Name="kAdres" Type="String" />
                    <asp:Parameter Name="kPostcode" Type="String" />
                    <asp:Parameter Name="kGemeente" Type="String" />
                    <asp:Parameter Name="kBTW" Type="String" />
                    <asp:Parameter Name="kTel" Type="String" />
                    <asp:Parameter Name="kFax" Type="String" />
                    <asp:Parameter Name="kFactuurtype" Type="String" />
                    <asp:Parameter Name="kEmail" Type="String" />
                </InsertParameters>
                <SelectParameters>
                    <asp:FormParameter DefaultValue="10015" FormField="txtZoek" Name="kCode" Type="Int32" />
                </SelectParameters>
            </asp:AccessDataSource>

[ Voor 79% gewijzigd door Verwijderd op 06-12-2006 23:39 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:25

Creepy

Tactical Espionage Splatterer

Geef nu eens iets meer informatie, dus welke queries e.d. gebruik je nu precies en welke code run je nu als je gaat zoeken. Met deze informatie kunnen we echt niks. Daarnaast is je nu ook al een paar keer gevraagd om aan te geven welke zaken je nu zelf al hebt geprobeerd en wat daar nu niet mee lukte. Puur melden dat je vorige en volgende knoppen niet meer werken na een zoekactie is niet voldoende. we verwachten dat je hier eerst zelf een oplossing voor probeert te verzinnen. En zou je als je wat toe te voegen en jouw post is de laatste aub de edit knop willen gebruiken? Nu lijkt het erop alsof je continu je topic onder de aandacht wilt brengen.

Wilde gok: je vorige en volgende knoppen werken op de datasource. Met zoeken beperk je de datasource tot 1 record en daarom werken ze niet meer omdat er geen volgende en vorige records zijn. Je zult dus een manier moeten vinden om de volledige datasource te kunnen houden en hierin een persoon te zoeken i.p.v. de database die de vorige en volgende knoppen gebruiken te beperken tot de zoek actie.

[ Voor 26% gewijzigd door Creepy op 06-12-2006 23:36 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1