Tuesday, March 13, 2012

Server.MapPath and ASP.Net

I have this code:

Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\unzipped\exceldotnet[1]\exceltest.xls;" & _
"Extended Properties=Excel 8.0;"

which works fine. I have copied the .xls-file to my project folder and tries this code:

Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & server.mappath("exceltest.xls") & ";" & _
"Extended Properties=Excel 8.0;"

But then I receive an error saying:

The Microsoft Jet database engine cannot open the file ''. It is already opened exclusively by another user, or you need permission to view its data.

What's wrong, can't I use the server.mappath?Make sure the asp.net account has access to the directory containing the .mdb file.
You're right, I'd forgot! Thanks ;)
Hi again, I have problems with Server.MapPath in a class. The intellisense wouldn't recognize server.mappath. Am I doing something wrong or do I need to specify a namespace? Here is my code:

Imports System.Data
Imports System.Data.OleDb
Public Class clsMedieroer : Inherits clsMateriale
Private _medie As Integer
Private _medie1 As Integer
Private _dimension As Integer

Sub New(ByVal s As Integer, ByVal m As String)
' konstruktren skaber et materiale med s
' (sker ved at kalde klassens metode Medie med s som parameter)
MyBase.New(m)
Medie = s
End Sub

Public Sub FindMedie()
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & server.mappath("exceltest.xls") & ";" & _
"Extended Properties=Excel 8.0;"

Dim strSql As String = "SELECT * FROM [Sheet1$] WHERE Id=4"

Dim objConnection As New OleDbConnection(strConn)
Dim objCommand As New OleDbCommand(strSql, objConnection)
Dim objDataReader As OleDbDataReader

objConnection.Open()
objDataReader = objCommand.ExecuteReader()

Do While objDataReader.Read() = True
_dimension = CInt(objDataReader("pris"))
Loop
objDataReader.Close()
objConnection.Close()

Select Case _medieroer
Case Is = "St. 37.0 Konti"
_medie1 = 15
Case Else
_medie1 = _medie
End Select
End Sub

Public ReadOnly Property Medie1() As Integer
' returnerer vrdien af materialet, der lses fra
Get
Return _medie1
End Get
End Property

Public ReadOnly Property Dimension() As Integer
' returnerer vrdien af materialet, der lses fra
Get
Return _dimension
End Get
End Property

Public WriteOnly Property Medie() As Integer
' definerer vrdien af materialet
Set(ByVal Value As Integer)
_medie = Value
FindMedie()
End Set
End Property

End Class
using System.Web;
I've tried typing
Imports system.web
but it still doesn't work

0 comments:

Post a Comment