Hej alla... Är inte bra på vb.net men i C# skriver man: Jag skulle rekommendera att lägga in sökvägen i en web.config fil för att sedan ladda in den därifrån.Hjälp med Server.MapPath i VB.NET
Nu är det så att jag har gjort ett matbokningsprogram som jag kommer sälja inom kort. Den lilla haken jag har nu är att jag vet banne mig inte hur jag skall få det att funka med min databas (Access) när jag ska lägga upp sidorna på nätet?!
Som det är nu har jag en databasklass (cAccessConn) där jag har följade kod:
Public Class cAccessConn
Private AccessConn As New OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\Project\Commat\DB\ComMatDB.mdb")
Private ads As New DataSet
Private ada As New OleDb.OleDbDataAdapter
Private aSqlStr As String
Protected ReadOnly Property Con() As OleDb.OleDbConnection
Get
Return AccessConn
End Get
End Property
Public ReadOnly Property ds() As DataSet
Get
Return ads
End Get
End Property
Public Property SqlStr() As String
Get
Return aSqlStr
End Get
Set(ByVal Value As String)
aSqlStr = Value
End Set
End Property
Public Sub Dispose()
AccessConn.Dispose()
ads.Dispose()
ada.Dispose()
End Sub
Public Sub Fill()
Dim Command As New OleDb.OleDbCommand
Command.CommandText = SqlStr
Command.Connection = AccessConn
ada.SelectCommand = Command
AccessConn.Open()
ada.Fill(ds)
AccessConn.Close()
End Sub
Protected Sub ExecNoQuery(ByVal sp As OleDb.OleDbCommand)
Try
AccessConn.Open()
Catch
End Try
sp.ExecuteNonQuery()
AccessConn.Close()
End Sub
End Class
Som ni ser så är ju min sökväg till min DB : C:\Inetpub\wwwroot\Project\Commat\DB\ComMatDB.mdb, eftersom jag kör det lokalt. Men eftersom det här givetvis inte kommer att funka då jag lägger ut sidorna vill jag nu veta hur jag skall gå till väga.
Har kollat runt lite och stött på Server.MapPath vilket verkar lovande eftersom den tar fram sökvägen till servern sedan läggar man till sökväg till databasmappen. Men grejen är ju att jag inte får det att lira!!!
Har provat med kod ungefär såhär...:
DBSource= Server.MapPath("DB/ComMat.mdb")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& DBSource
...men som sagt så funkar det inte då det blir "Declaration expected" på min Server.MapPath?? Allt detta i min class cAccessConn.vb alltså...Provade att lägga samma kodrad i aspx.vb-sida och där verkar det funka...
Snälla hjälp mig någon!!! Vill inte stupa här....Ska ju Go Live om ett par veckor.....Hjälp!!!
// Bästa hälsningar ThomasSv: Hjälp med Server.MapPath i VB.NET
DBSource= Server.MapPath +"\\DB\\ComMat.mdb"
eller
DBSource= Server.MapPath +@"\DB\ComMat.mdb"
Då @ tolkar det som en sökväg.
Sv: Hjälp med Server.MapPath i VB.NET
Fördelarna är att du inte låser platsen du ska ha databasen på utan kan lätt flytta på fien och bara ändra lite i web.config. Ingen kompilering av projektet krävs alltså då...