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/>"
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
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.