ampyMedlem sedan feb. 20011 498 inlägg Har en kod som ser ut så här:
Private Sub Page_Load(sender As Object, e As EventArgs)
Dim strConnect As String = "DSN=ampy_net"
Dim strSQL As String = "SELECT username FROM members"
' Skapa de båda objekten.
Dim objConn As New OdbcConnection(strConnect)
Dim objCmd As New OdbcDataAdapter(strSQL, objConn)
' Fyll ett DataSet.
dim ds as DataSet = new DataSet()
objCmd.Fill(ds, "members")
' Välj en DataView och bind till serverkontrollen.
MyDataList.DataSource = ds.Tables("members").DefaultView
MyDataList.DataBind()
End Sub
Felmeddelandet jag får är följande:
Compiler Error Message: BC30002: Type 'DataSet' is not defined.
Source Error:
Line 15:
Line 16: ' Fyll ett DataSet.
[B]Line 17: dim ds as DataSet = new DataSet()[/B]
Line 18: objCmd.Fill(ds, "members")
Line 19:
Varför får jag det?
Jag tror att du glömt importera System.Data. Skriva detta överst på din sida:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>
ampyMedlem sedan feb. 20011 498 inlägg Hade skrivit:
<%@ import Namespace="System" %>
istället för
<%@ import Namespace="System.Data" %>
:r
Men nu får jag:
Compiler Error Message: BC30451: Name 'MyDataList' is not declared.
Source Error:
Line 19:
Line 20: ' Välj en DataView och bind till serverkontrollen.
[B]Line 21: MyDataList.DataSource = ds.Tables("members").DefaultView[/B]
Line 22: MyDataList.DataBind()
Line 23:
NETworkMedlem sedan juni 20011 732 inlägg Du måste deklarera din datalist, tror du skriver nåt sånt här i vb:
Protected MyDataList As System.Web.UI.WebControls.DataList
ampyMedlem sedan feb. 20011 498 inlägg På din rad får jag:
Compiler Error Message: BC30247: 'Protected' is not valid on a local variable declaration.
PatrikBMedlem sedan mars 20002 836 inlägg skapar du din datalist on the fly eller är den en kontroll som redan ligger i aspx sidan?
cya,
PatrikB
ampyMedlem sedan feb. 20011 498 inlägg Koden för hela sidan ser ut så här:
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="Microsoft.Data.Odbc" %>
<script runat="server">
Private Sub Page_Load(sender As Object, e As EventArgs)
Dim strConnect As String = "DSN=ampy_net"
Dim strSQL As String = "SELECT username FROM members"
' Skapa de båda objekten.
Dim objConn As New OdbcConnection(strConnect)
Dim objCmd As New OdbcDataAdapter(strSQL, objConn)
' Fyll ett DataSet.
dim ds as DataSet = new DataSet()
objCmd.Fill(ds, "members")
' Välj en DataView och bind till serverkontrollen.
Protected MyDataList As System.Web.UI.WebControls.DataList
MyDataList.DataSource = ds.Tables("members").DefaultView
MyDataList.DataBind()
End Sub
</script>
<html>
<head>
<title>ASP+: Hello, World</title>
</head>
<body>
<form runat="server">
<!-- Insert content here -->
</form>
</body>
</html>
NETworkMedlem sedan juni 20011 732 inlägg Du ska deklarera den utanför pageloaden... funkar det ändå inte, byt ut protected mot public. Kanske måste vara public när man inte använder code behind?
NETworkMedlem sedan juni 20011 732 inlägg ...och sedan verkar det inte som du har någon datalist, då blir det svårt att programmera mot den. :)
<form runat="server">
<asp:datalist id="MyDataList" runat="server"></asp:datalist>
</form>
ampyMedlem sedan feb. 20011 498 inlägg Nu fungerar det :)
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="Microsoft.Data.Odbc" %>
<script runat="server">
Private Sub Page_Load(sender As Object, e As EventArgs)
Dim strConnect As String = "DSN=ampy_net"
Dim strSQL As String = "SELECT username FROM members"
' Skapa de båda objekten.
Dim objConn As New OdbcConnection(strConnect)
Dim objCmd As New OdbcDataAdapter(strSQL, objConn)
' Fyll ett DataSet.
dim ds as DataSet = new DataSet()
objCmd.Fill(ds, "members")
' Välj en DataView och bind till serverkontrollen.
MyDataList.DataSource = ds.Tables("members").DefaultView
MyDataList.DataBind()
End Sub
</script>
<html>
<head>
<title>ASP+: Hello, World</title>
</head>
<body>
<form runat="server">
<asp:DataList id="MyDataList" runat="server"></asp:DataList>
</form>
</body>
</html>
Kan även nämna att jag råkade lägga till ett användar-dsn istället för ett system-dsn i ODBC.