Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


koppling databas vb.net

Postades av 2005-01-06 17:41:52 - Christina Antonsson, i forum vb.net, Tråden har 12 Kommentarer och lästs av 631 personer

Hej, jag är nybörjare på vb.net,

Om jag har en databas(vet hur den kopplas), och ska göra ett program som låter användaren har fått fram de önskade tex namn och så ska man klicka på det namnet och få fram tel och mailadress, jag har gjort ett par försök,men lyckas inte komma på hur, just detta att klicka på namnet och först då få fram de andra värdena,

jag kan blädra mellan mina värden med två knappar och visar mina värden i 3 textboxar, men om jag ska kunna välja ett namn och få fram två värden, försöker med att använda en combobox och två textboxar men vet inte hur jag kopplar ihop boxarna så att det den markering i comboboxen ger mig de två andra värdena i textboxarna. snälla är det någon som kan hjälpa mig.

en nybörjare


Svara

Sv: koppling databas vb.net

Postades av 2005-01-06 20:17:52 - Mikael Johansson

Visst, hjälper dig gärna. Visa bara den kod du har än så länge så korrigerar vi den sen :)

[Edit]
Såg fel. Trodde du hade problem med kopplingen. Det du gör är att i den kontrollen du har namnen sätter du en autopostback. I page-load sen så sätter du att om det är postback så ska den publicera den informationen i de andra kontrollerna som hör i hop med namnet. Hoppas du förstår vad jag menar :)


Svara

Sv:koppling databas vb.net

Postades av 2005-01-06 20:40:58 - Christina Antonsson

sorry, förstår inte. Jag är helt ny på detta, försöker att lära mig. I vb6 var det lättare att göra kopplingarna och få det som man ville. så om du kan visa med kod och förklarande text, så är jag tacksam.

en nybörjare


Svara

Sv: koppling databas vb.net

Postades av 2005-01-06 21:07:10 - Mikael Johansson

Du hämtar namnen från databasen till en combobox. Det fungerar väl? I comboboxen kan du sätta både ett text-värde och ett value-värde. I comboboxen kan du väl sätta AutoPostBack="True"? I så fall gör du bara det. I din Page_Load sätter du
<code>
Sub Page_Load()
If Page.IsPostBack Then
...
End If
End Sub
</code>

Vad som händer då är att när du klickar på ett namn i comboboxen så aktiverar du innehåller i If-satsen. I den If-satsen så skriver du databaskopplingen som hämtar värderna du önskar och skriver ut dessa till textboxarna.

<code>
Sub Page_Load()
If Page.IsPostBack Then
'Gör en koppling till databasen här
'Nu gör vi strängen som hämtar värdena
strSQL = "Select * From Databastabell Where id=@ID"
...
'Här hämtar vi värdet till id
cmdCommand.Parameters.AddWithValue("@ID", ComboBox.SelectedItem.Value)
...
'Nu skriver vi ut värdena vi hittar i databasen
TextBox1.Text = Värde1fråndatabasen
TextBox2.Text = Värde2fråndatabasen
TextBox3.Text = Värde3fråndatabasen
...
End If
End Sub
</code>

Det är principen på hur du ska göra (hoppas det inte skiljer sig alltför mycket från asp.net :))
Hoppas det blir lite klarare då.


Svara

Sv:koppling databas vb.net

Postades av 2005-01-06 21:24:01 - Andreas Håkansson

Hans ger dig goda råd, men du bör inte använda dig av <b>Page.IsPostBack</b> i <b>Page_Load</b> för att avgöra om något valts i din combobox. Anledningen till detta är bla. att postback kan genereras av fler anledningar än av din combobox och du vill bara hämta informatiom om det är just din combobox som ändrats.

Du skall iställer använda sig av händelsen <b>SelectedIndexChanged</b> på din Combobox, och i den händelsen skall du köra kod liknande den som Hans beskrev.


Svara

Sv: koppling databas vb.net

Postades av 2005-01-06 21:32:35 - Mikael Johansson

Hehe, lyssna på Andreas. Han är klok han :)


Svara

Sv:koppling databas vb.net

Postades av 2005-01-06 21:33:54 - Andreas Håkansson

Hans,

Smicker kommer du långt med :-D hehe


Svara

Sv: koppling databas vb.net

Postades av 2005-01-07 15:10:45 - Christina Antonsson

men jag har en accessdatabas som jag är kopplad mot, och det jag vill är att när jag väljer i comboboxen så ska mina värden som tillhör visas i två textboxar, jag har gjort så här

Private Sub cmbBox1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Contacts\Contacts.mdb")
Dim strSql As String = "SELECT * FROM Companies"
Dim dbCommand As New OleDbCommand(strSql, cn)

'Dimensionera en dataadapter
Dim minAdapter As New OleDbDataAdapter(strSql, cn)
'Fyll datasetet
minAdapter.Fill(mittDataset)
' Öppna db kopplingen
cn.Open()

minReader = dbCommand.ExecuteReader()
' minReader måste läsa
While minReader.Read()
cmbBox1.Items.Add(minReader.GetValue(0) & "")
End While
' Ställ ComboBox1 på första post
cmbBox1.SelectedIndex = 0
'Visa första Companies
intRadITabell = 0
Call VisaCompanies()
' Stäng kopplingen
cn.Close()
End Sub
Public Sub VisaCompanies()

txtBox1.Text = mittDataset.Tables(0).Rows(intRadITabell).Item(2)
txtBox2.Text = mittDataset.Tables(0).Rows(intRadITabell).Item(4)
End Sub

en nybörjare


Svara

Sv:koppling databas vb.net

Postades av 2005-01-07 15:14:01 - Mikael Johansson

Det spelar ingen roll vilken databas du hämtar från, principen är densamma som ovan. Ta bort den ena textboxen bara eftersom du bara ville ha två.

Försök att göra lite kod, och när du kör fast så skriver du hur långt du har kommit, så hjälper vi dig därifrån.


Svara

Sv: koppling databas vb.net

Postades av 2005-01-07 15:34:54 - Christina Antonsson

hur menar du, i comboboxen väljer det namn jag vill ha, i txtbox1 skrivs telnr och i txtbox2 skrivs mailadress, och det är så jag vill ha det, så var någonstans är det jag gör fel???




Svara

Sv:koppling databas vb.net

Postades av 2005-01-07 15:55:44 - Mikael Johansson

Nu ska vi se så jag har tungan rätt i mun

Private Sub cmbBox1_Load hämtar datan till din combobox och det fungerar väl? Nästa steg är att utveckla vidare på Public Sub VisaCompanies()

<code>
Public Sub VisaCompanies()
Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\Contacts\Contacts.mdb")
Dim strSql As String = "SELECT * FROM Companies WHERE id=@ID"
Dim dbCommand As New OleDbCommand(strSql, cn)

Dim myParm As OleDbParameter = dbCommand.Parameters.Add("@ID", OleDbType.Int)
myParm.Value = cmbBox1.SelectedItem.Value

cn.Open()
Dim reader As OleDbDataReader = dbCommand.ExecuteReader()

TextBox1.Text = myReader.GetString(1)
TextBox2.Text = myReader.GetString(2)

reader.Close()
cn.Close()
End Sub
</code>

Liknande detta (är inte expert just på oledb). Den på din combobox måste du sätta
<code>
OnSelectedItemChanged="VisaCompanies" AutoPostBack="True"
</code>

Hoppas det ska fungera :)


Svara

Sv: koppling databas vb.net

Postades av 2005-01-07 16:19:08 - Christina Antonsson

jag har fattat så långt att jag gör en sub och sedan ska jag få den att visa sig när jag markerar namnet i comboboxen ska jag göra en if-sats eller något för att den ska visa enbart värdena då eller vad och isåfall var någonstans i koden gör jag detta, har provat olika sätt ett bra tag innan jag började fråga här.

ok, om jag gör en ny sub med cmbBox1_SelectedIndexChanged, hur får jag den till att visa det jag vill??


Svara

Sv:koppling databas vb.net

Postades av 2005-01-11 09:29:55 - Mikael Johansson

Du gör precis som jag gjorde ovan, så ska det fungera. Får du fel?


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
403
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies