Avatar billede soren23hansen Nybegynder
13. oktober 2003 - 09:31 Der er 8 kommentarer

At finde ud af hvor mange rows der er i en db

Er der en der har et helt lille eksempel på hvordan man tæller rows. Jeg har prøvet med SELECT COUNT og det burde også virke men kan ikke få det til at virke. Det jeg gerne vil se et lille ex. på er hvordan men henter antallet på alle ud fra en access database der hedder "Hans" og er "31" år.

Håber ikke det er for meget med et helt eksempel.
Avatar billede guidmaster Nybegynder
13. oktober 2003 - 10:36 #1
Dim strConnection As String = din connection string
Dim strSQL As String = "din sql "
Dim objConnection As New SqlConnection(strConnection)
Dim objCommand As New SqlCommand(strSQL, objConnection)
Dim Resultat as Integer = 0
Try
objConnection.Open()
Resultat = objCommand.ExecuteScalar()
Catch Ex as Exception
    System.Web.HttpContext.Current.Response.Write(Ex.Message)
Finally
objConnection.Close()
objConnection.Dispose()
Avatar billede soren23hansen Nybegynder
13. oktober 2003 - 11:47 #2
Kan ikke se hvordan det skulle komme til at virke. Resultat erklære du og sætte til 0 og så skulle man kunne få værdien af rows ud af det ?
Avatar billede guidmaster Nybegynder
13. oktober 2003 - 11:50 #3
Okay
Kender du ExecuteScalar? Den returnere kun et resultat. Det kan du bruge hvis din sql ser ud som følgende:
SELECT Count(*) as Antal FROM Brugere WHERE Navn='Hans' AND Alder=31

Hvis du indsætter dette, vil Result komme til at indeholde antallet af personer der hedder Hans og er 31 år gammel.
Avatar billede soren23hansen Nybegynder
13. oktober 2003 - 16:11 #4
Har ikke løst det endnu, er der en der kan sige hvad jeg gør galt. Ligger lige koden ved det går galt ved "Dim strSQL As String = SELECT Count(*) as Antal FROM Brugere WHERE Navn=Hans AND Alder=31" men ved ikke hvorfor.

  Dim connectionStr as string  ' Forbindelses-streng til databasen
  Dim strSQL As String = SELECT Count(*) as Antal FROM Brugere WHERE Navn=Hans AND Alder=31
  Dim con as OledbConnection    ' Forbindelse-objekt til databasen
  Dim objCommand As New SqlCommand(strSQL, con)
  Dim Resultat as Integer = 0

  ' Opbyg connectionStr
  connectionStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
  connectionStr += Request.PhysicalApplicationPath + "BellingeTennis.mdb"

  ' Skab forbindelses-objekt udfra connectionStr
  con = New OledbConnection(connectionStr)




  ' Opbyg SQL-kommando

Try
  con.Open()              ' Åben forbindelsen til databasen
Resultat = objCommand.ExecuteScalar()
Catch Ex as Exception
    System.Web.HttpContext.Current.Response.Write(Ex.Message)
Finally
  con.Close()            ' Luk forbindelsen
  con.Dispose()
End Sub
Avatar billede guidmaster Nybegynder
13. oktober 2003 - 16:59 #5
Dim strSQL As String = "SELECT Count(*) as Antal FROM Brugere WHERE Navn='Hans' AND Alder=31"
Avatar billede soren23hansen Nybegynder
13. oktober 2003 - 17:05 #6
Tak så kommer den med (Type 'SqlCommand') is not defined.

Håber ikke det gør noget at jeg skal have det skåret ud i pap
Avatar billede soren23hansen Nybegynder
13. oktober 2003 - 17:46 #7
Fandt ud af at der skulle stå: Dim objCommand As OleDbCommand = New OleDbCommand(strSQL, con)

Nu kommer den med denne fejl på siden når Sub GemIDatabase() bliver kørt.
"ExecuteScalar: Connection property has not been initialized."



Sub GemIDatabase()

  Dim connectionStr as string  ' Forbindelses-streng til databasen
  Dim strSQL As String = "SELECT Count(*) as Antal FROM Brugere WHERE Navn='Hans' AND Alder=31"
  Dim con as OledbConnection    ' Forbindelse-objekt til databasen
  Dim objCommand As OleDbCommand = New OleDbCommand(strSQL, con)
  Dim Resultat as Integer = 0

  ' Opbyg connectionStr
  connectionStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
  connectionStr += Request.PhysicalApplicationPath + "BellingeTennis.mdb"

  ' Skab forbindelses-objekt udfra connectionStr
  con = New OledbConnection(connectionStr)




  ' Opbyg SQL-kommando

Try
  con.Open()              ' Åben forbindelsen til databasen
Resultat = objCommand.ExecuteScalar()
Catch Ex as Exception
    System.Web.HttpContext.Current.Response.Write(Ex.Message)
Finally
  con.Close()            ' Luk forbindelsen
  con.Dispose()
  End Try


End Sub




Sub Button1_Click(sender As Object, e As EventArgs)
GemIDatabase()
End Sub
Avatar billede soren23hansen Nybegynder
08. juli 2008 - 11:17 #8
guidmaster:  Du kan skrive svar hvis du vil have points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester