25. juli 2002 - 20:40Der er
12 kommentarer og 2 løsninger
Select enkel værdi fra DB
Jeg har et lille problem. I mine bøger står der alle mulige fine beskrivelser af hvordan man henter data fra DB og indsætter dem i datagrids og lign. Men jeg kan ikke finde en forklaring på hvordan man henter en enkelt værdi og indsætter den i en tabelcelle. Jeg har følgene:
Dim objConnect as New SqlConnection(objConnection)
Dim strCommandText1 As String = "pclSelectCategoriesTitles 1033,1"
Dim objCommand1 As New SqlCommand(strCommandText1,objConnect)
objConnect.Open()
Her skal har jeg fundet en bestemt post i tabellen udfra de angivne kriterier. Derefter skal denne tekststreng indsættes i <asp:TableCell class="LeftMenuTitles" id="LeftMenuTitles" />
>Jeg har prøvet noget ala: LeftMenuTitles.Text = objCommand1.ExecuteReader() LeftMenuTitles.Text = " " & objDatareader("Title") & "<br/>"
Dim myConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\my.mdb") Dim myQuery As String = "Select Top1 Name From MyTable" Dim myOleDbCommand As New OleDbCommand(myQuery,myConn) myConn.Open() Dim myReader As OleDbDataReader = myOleDbCommand.ExecuteReader() Try While myReader.Read() LeftMenuTitles.Text = myReader.GetValue("Name") Exit While End While Finally myReader.Close() myConn.Close() End Try
Hvis du bruger SQL Server er det mest effektive at benytte en OUTPUT parameter fra en Stored procedure.
odegaard>Det er ikke et spørgsmål om at man "hellere" vil benytte Sql* fremfor OleDb*, SqlClient namespacet giver meget bedre performance ved brug med SQL Server
Dim objConn As New SqlConnection("DIN CONNECTION STRING HER") Dim objCmd As New SqlCommand(SELECT * FROM tblText WHERE Activated=True AND ID=" & intID, objConn ) objConn.Open() Dim objReader As SqlDataReader = objCmd.ExecuteReader( CommandBehaviour.CloseConnection)
Ja i havde tildels ret begge to. >odegaard: dit eks. virkede hvis man fjernede ".GetValue" Jeg synes bare det er vildt at man skal bruge et loop for at hente en værdi.
I mit tilfælde har jeg selvfølgelig brugt en output parameter som moonduck foreslog. Her er den endelige kode, hvis i skulle være interesserede.
Dim objConnect as New SqlConnection(objConnection)
Dim strCommandTextCatTitle As String = "pclSelectCategoriesTitles"
Dim objCommandCatTitle As New SqlCommand(strCommandTextCatTitle,objConnect)
og min stored proc hvis der er nogen der skulle være interesseret:
CREATE PROCEDURE pclSelectCategoriesTitles @Title nvarchar(100) OUTPUT, @intLang int, @intCat int
AS
BEGIN SELECT @Title = Title FROM pclCATEGORIES_TITLES WHERE Lang = @intLang And CatID = @intCat END GO
Synes godt om
Ny brugerNybegynder
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.