Datenbankzugriff als Webanwendung - Beim Ausführen wird eine leere Seite angezeigt

Helyko

Grünschnabel
Ich hab eine ASP.NET-Website geschrieben, mit der ich auf eine Oracle/Access-Datenbank zugreifen will. Als Windowsanwendung funktioniert das Programm nur beim Webaufruf wird mir anstelle eines DataGrid eine leere Seite angezeigt.(im Anschluss befindet sich der Code) :mad:

Ich hoffe einer von euch kann mir helfen,
Vielen Dank im voraus
mfg Heli

--------------------------------------------------------
Imports System.data
Imports System.Data.OleDb


Partial Class _Default
Inherits System.Web.UI.Page

Sub Page_Load(ByVal sender As Object, ByVal e As Object)


Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\Heli\ALTDB.mdb;")
Dim da As New OleDbDataAdapter("Select * From _TbChName", conn)
Dim ds As New System.Data.DataSet()
Dim cmd As OleDbCommand
Dim dt As DataTable
Dim dv As DataView


cmd = New OleDbCommand("Select * from _TbChName", conn)
ds.Clear()
conn.Open()
da.Fill(ds, "_TbChName")
conn.Close()

dt = ds.Tables.Item("_TbChName")

dv = ds.DefaultViewManager.CreateDataView(dt)
GridView1.DataSource = dv


'GridView1.DataSource = ds.Tables(0).DefaultView - habs so auch schon probiert

GridView1.DataBind()

End Sub


End Class
 

Norbert Eder

Erfahrenes Mitglied
Setz als DataSource das DataSet. Das sollte reichen damit die Daten angezeigt werden.
Code:
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\Heli\ALTDB.mdb;")
Dim da As New OleDbDataAdapter("Select * From _TbChName", conn)
Dim ds As New System.Data.DataSet()
Dim cmd As OleDbCommand
Dim dt As DataTable

conn.Open()
Dim da As New OleDbDataAdapter("SELECT * FROM _TbChName", conn)
da.Fill(ds)
conn.Close()

GridView1.DataSource = ds

GridView1.DataBind()
Hier auch noch mein Testcode, allerdings in C#:
C#:
SqlConnection conn = new SqlConnection(@"Data Source=(local)\SQLEXPRESS;Initial Catalog=Test;User Id=testuser;Password=pwd;");
conn.Open();

SqlDataAdapter sqlDA = new SqlDataAdapter("SELECT * FROM tPerson", conn);
DataSet ds = new DataSet();
sqlDA.Fill(ds);
conn.Close();

this.GridView1.DataSource = ds;
this.GridView1.DataBind();
 

Helyko

Grünschnabel
Hi Norbert

Danke für deinen Tipp!
Das Programm funktioniert :)
aber wie bekomm ich so eine komfortable Oberfläche wie bei der WindowsAnwendung
(Spalten sortieren etc.)
Muss ich dazu in die xml.Datei schreiben ( und was )

beste Grüße

heli
 

Norbert Eder

Erfahrenes Mitglied
Ein Beispiel könnte so aussehen:
Code:
<form id="form1" runat="server">
    <asp:GridView ID="GridView1" AllowSorting="true" runat="server" DataSourceID="SqlDataSource1"
      AutoGenerateColumns="False">
      <Columns>
        <asp:BoundField HeaderText="ID" DataField="au_id" SortExpression="au_id" />
        <asp:BoundField HeaderText="Last Name" DataField="au_lname" SortExpression="au_lname" />
        <asp:BoundField HeaderText="First Name" DataField="au_fname" SortExpression="au_fname" />
        <asp:BoundField HeaderText="Phone" DataField="phone" SortExpression="phone" />
        <asp:BoundField HeaderText="Address" DataField="address" SortExpression="address" />
        <asp:BoundField HeaderText="City" DataField="city" SortExpression="city" />
        <asp:BoundField HeaderText="State" DataField="state" SortExpression="state" />
        <asp:BoundField HeaderText="Zip Code" DataField="zip" SortExpression="zip" />
        <asp:CheckBoxField HeaderText="Contract" SortExpression="contract" DataField="contract" />
      </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      SelectCommand="SELECT [au_id], [au_lname], [au_fname], [phone], [address], [city], [state], [zip], [contract] FROM [authors]"
      ConnectionString="<%$ ConnectionStrings:Pubs %>" />
  </form>
 

Helyko

Grünschnabel
Zunächst mal danke für deine Antwort!

Aber ich versteh noch nicht ganz, was ich als DataSourceID angeben soll.

</head>
<body>
<form id="form1" runat="server">
<div>
<br />
<br />


<asp:GridView ID="GridView1" AllowSorting="true" runat="server" Height="208px" Width="328px" DataSourceID="conn" AutoGenerateColumns="false" >
<Columns>

<asp:BoundField HeaderText="ID_Taetigkeiten" DataField="ID_Taetigkeiten" SortExpression="ID_Taetigkeiten" />
<asp:BoundField HeaderText="ID_AZS" DataField="ID_AZS" SortExpression="ID_AZS" />
<asp:BoundField HeaderText="Namen_Taetigkeiten" DataField="Namen_Taetigkeiten" SortExpression="Namen_Taetigkeiten" />
<asp:BoundField HeaderText="Beschreibung_Taetigkeiten" DataField="Beschreibung_Taetigkeiten" SortExpression="Beschreibung_Taetigkeiten" />

</Columns>

</asp:GridView>
<br />
&nbsp;

<asp:SqlDataSource ID="conn" runat="server"
SelectCommand="SELECT [ID_Taetigkeiten], [ID_AZS], [Namen_Taetigkeiten], [Beschreibung_Taetigkeiten] from [Taetigkeiten]"
ConnectionString="<%$Connectionstrings:pubs %>" />


</div>
</form>
</body>
</html>


Wie du schon mitbekommen hast, kenn ich mich mit Webanwendungen noch nicht aus, weist du vielleicht ein gutes Buch, das sich auf Webanwendung mit VB2005 bezieht
( verständlich für Anfänger)?

Vielen Dank

Heli
 

Norbert Eder

Erfahrenes Mitglied
Also eine Scrollbar in einem Grid ist im Web wohl eher nicht userfreundlich. Biete hier eher ein Paging an, oder passe das Grid entsprechend in die Seite ein.
 

Helyko

Grünschnabel
Hi Norbert,

Ich bin ein Praktikant bei einer Firma ( Haff&Schneider) und deren Wunsch ist eine Scrollbar im GridView. Hab bis jetzt leider noch keine Möglichkeit gefunden diese einzufügen. Würd mich daher freuen wenn du mir helfen könntest.

beste Grüße

Heli
 

Neue Beiträge