15. september 2005 - 16:25Der er
12 kommentarer og 2 løsninger
Connecte til mysql via brugerkontroller
Er helt ny udi ASP.Net, men er forholdsvis habil udi ASP.
I ASP kan man inkludere filer. Så vidt jeg lige har kunnet læse mig til er det nærmeste man kommer i ASP.Net brugerkontrollere. Nu vil jeg så gerne have connectionen til MySql et sted, så jeg - hvis der sker ændringer, kun skal ændre et sted. - Jeg kan bare ikke få det til at virke... I en fil ser det fint ud sådan her:
Sub Page_Load(Source as object, e as EventArgs) Dim sConString As String = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=Server; DATABASE=Database; UID=brugernavn; PASSWORD=adgangskode; OPTION=3" Dim oConnection as ODBCConnection = new ODBCConnection(sConString) Dim sSQL as String = "SELECT * FROM INet" Dim oDataAdapter as ODBCDataAdapter = New ODBCDataAdapter(sSQL, oConnection) Dim oDataSet as DataSet = new DataSet() oDataAdapter.Fill(oDataSet) oDataGrid.DataSource = oDataSet oDataGrid.DataBind() End Sub
Connectionstrengen kan lægges i Global.asax.vb under
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) ' Fires when the application is started ''Connection til brug Dim database As String = Server.MapPath("../DB.fil") Application("ConnString") = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source = " & database End Sub
så kan den kaldes som Application("ConnString") fra alle dine filer
Hej awolffdk Du må hellere lægge et svar ind, for jeg fik det her til at virke:
En global.asax - fil der ser sådan her ud:
<%@ Application language="VB" %>
<script runat="server">
Sub Application_Start(Sender As Object, E As EventArgs) ' Code that runs on application startup Application("ConnString") = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=server; DATABASE=db; UID=brugernavn; PASSWORD=adgangskode; OPTION=3"
Sub Page_Load(Source as object, e as EventArgs) Dim oConnection as ODBCConnection = new ODBCConnection(Application("ConnString")) Dim sSQL as String = "SELECT * FROM INet" Dim oDataAdapter as ODBCDataAdapter = New ODBCDataAdapter(sSQL, oConnection) Dim oDataSet as DataSet = new DataSet() oDataAdapter.Fill(oDataSet) oDataGrid.DataSource = oDataSet oDataGrid.DataBind() End Sub
Som jeg ser det er det lettere at vedligeholde webconfig da det er en ren XML fil, og som sådan kan redigeres med feks. notepad og ikke skal kompileres
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here Dim oConnection As ODBCConnection = New ODBCConnection(Application("ConnString")) Dim sSQL As String = "SELECT * FROM INet" Dim oDataAdapter As ODBCDataAdapter = New ODBCDataAdapter(sSQL, oConnection) Dim oDataSet As DataSet = New DataSet oDataAdapter.Fill(oDataSet) oDataGrid.DataSource = oDataSet oDataGrid.DataBind() End Sub
Når jeg på denne måde deler indholdet i de 3 filer, får jeg følgende fejl:
Type 'ODBCConnection' is not defined Type 'ODBCDataAdapter' is not defined Name 'oDataGrid' is not declared
Importerer jeg min tidligere test test.aspx så fungerer det glimrende - Global.asax virker altså tilsyneladende.
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.