DataReader via lopa data med Response.Write? Hej jag misstänker att jag lagt funktionen på fel ställe, någon som vet var den ska placeras, eller om det är rätt? Du har skapat en function. Regeln säger att en funktion skall returnera ett värde men en Sub skall inte returnera något. Det visar inget felmeddelande, men visar inget data. //Bo Jag har även gjort enligt artikeln "skapa tabellverk codebehind" av Pelle och då Om jag skriver enligt nedan med Page_Load så fungerar det, men hur styr jag var det ska visas på sidan jag kan ju lägga in Response.write("<table>...osv.) Men det det finns nog bättre. Funktioner som Private Function BuildTableCodeBehind(). är kanske bättre att presentera som.// Bo Det beror precis på hur du skall använda dig av informationen. Men att först se till att det kommer ut något data måste du ju ta hand om. Om du skriver en fråga i enterprise manager , får du fram datat då? tack asp.table har jag provat det är kanske det man använder i stället. //Bo Det är bara en variant av många. Det beror lite på vad syftet är som alltid. Vilken typ använder du i detta forum, alltså om man vill använda pagging, samt mer styra var data ska läggas i HTML tabell med rubrik etc. Var kan man hitta exempel att studera det. Använder siteMaster//BoASP.NET Functions!? - tex. DataReader via lopa data med Response.Write?
Jag börjar precis försöka lära mig ASP.Net och ska göra om en website som jag tidigare gjort i .asp. All text och bilder hämtas från en databas.
Jag får inte lopa data med response.write att fungera.
Kopplat till datagridden fungerar det , presenterar innehållet från databasen, men när jag ska göra samma sak som i artikeln "Loopa data från datareader..." får jag inte till det. I webform2.aspx har jag inte skrivit något. Klistrat in felmeddelande och 2 filer om någon vill hjälpa mig. Jag måste väl skriva var på .aspx sidan jag vill visa resultatet från databasen. Har gått igenom forum och artiklar, letat i diverse andra asp.net-sidor och kan inte hitta något som hjälper mig.
Tack på förhand
Vänligen Bo
Här är felmeddelandet jag får i VS 2010 Ultimate:
----------------------------------------------------------------------------------------------------------------
Warning 1 Function 'DataReaderLoop' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects3\MyWebbapplication3\MyWebbapplication3\WebForm2.aspx.vb 15 5 MyWebbapplication3
--------------------------------------------------------------------------------------------------------
Här är filerna:
filen webform2.aspx--------------------------------
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm2.aspx.vb" Inherits="MyWebbapplication3.WebForm2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
filen webform2.aspx.vb-------------------------------
Public Class WebForm2
Inherits System.Web.UI.Page
Private Function DataReaderLoop()
Dim dr As SqlClient.SqlDataReader = DataFunctions.SQLFunctions.ReturnDataReader("select * from products")
While dr.Read
Response.Write(dr("0") & " ")
Response.Write(dr("ProductID") & " ")
Response.Write(dr.GetSqlString(3).ToString & "<br>")
End While
dr.Close()
End Function
End ClassSv: ASP.NET DataReader via lopa data med Response.Write?
//BoSv:ASP.NET DataReader via lopa data med Response.Write?
Så, antingen returnerar du något i din function, eller så ändrar du ditt anrop så det står .
Sub .....
Gör något i denna subrutin som inte returnerar något värde
End Sub
Function Test() As String
' Något som händer här skall returnera en sträng, ex
Return "OK"
End Function
En funktion kallar du:
Dim result as string = Test()
värdet i variabeln result innehåller nu "OK"
Så din lösning är att ändra
Private Function DataReaderLoop()
till
Private Sub DataReaderLoop()
Hoppas det hjälperSv: ASP.NET DataReader via lopa data med Response.Write?
Sv: ASP.NET DataReader via lopa data med Response.Write?
Private Function BuildTableCodeBehind().
Denna ger också felmeddelande: Warning 1 Function 'BuildTableCodeBehind' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects3\MyWebbapplication3\MyWebbapplication3\WebForm3.aspx.vb 73 5 MyWebbapplication3
Ändrar jag till Sub istället för function uteblir felmeddelandet men trots detta genererar inte funktionen något resultat.
Vänligen
BoSv: ASP.NET DataReader via lopa data med Response.Write?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dr As SqlClient.SqlDataReader = DataFunctions.SQLFunctions.ReturnDataReader("select * from tblBo1")
While dr.Read
Response.Write(dr("FirstName") & " ")
Response.Write(dr.GetSqlString(3).ToString & "<br>")
End While
dr.Close()
End SubSv:ASP.NET DataReader via lopa data med Response.Write?
När det gäller presentation av datat kan man använda sig av flera olika alternativ - en variant är att ha en kontroll som man presenterar datat i, en annan är att bygga tabeller code behind. Tror jag har en artikel om det, men annars har jag för mig det finns lite kod på www.pellesoft.se/kurs
Börja med att lägga till en asp:table på sidan - kör sedan något i stil med ..
table1.rows.clear
do while dr.read
dim tr as new tablerow
dim td1 as new tablecell
dim td2 as new tablecell
td1.text = dr("kolumn1")
td2.text = dr("kolumn2")
tr.controls.add(td1)
tr.controls.add(td2)
table1.controls.add(tr)
loop
dr.close
PelleSv: ASP.NET DataReader via lopa data med Response.Write?
Sv:ASP.NET DataReader via lopa data med Response.Write?
Sv: ASP.NET DataReader via lopa data med Response.Write?