I "traditionell" asp skrev jag så här: Hej Anders, Det är inga problem att använda DataSet och DataAdapter mot OleDb/Access. Har tyvärr inte tid att leta fram något exempel nu, men mycket finns i denna artikeln (Byt ut alla förekomster av Sql mot OleDb bara...): http://www.pellesoft.se/area/articles/article.aspx?artid=364 Hej Anders,asp vs asp.net...
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databasen.mdb")
strSqlUser = "SELECT * FROM ansokan"
rsUser.Open strSqlUser, objCon, 3, 3
rsUser.addnew
rsUser("username") = request.form("txtNickname")
rsUser("firstname") = request.form("txtFirstname")
...
...
rsUser.Update
rsUser.Close
I asp.net (VB) verkar det bli så här:
<script runat="server">
Sub Submit(obj as Object, e as EventArgs)
If Page.IsValid Then
'Databastjaffs...
Dim objConn As OleDbConnection
Dim strSQL As String
Dim objCmd As OleDbCommand
Dim strDSN As String
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databasen.mdb")
objConn = New OleDbConnection(strDSN)
strSQL = "INSERT INTO ansokan (username,email,firstname,lastname,description,reg datum,priwork,secwork,status) VALUES ('" & tbHandle.text & "' , '" & tbEmail.text & "' , '" & tbFName.text & "' , '" & tbLName.text & "' , '" & tbDesc.text & "', DateTime.now , '" & lbPriWork.SelectedItem.Text & "' , '" & lbSecWork.SelectedItem.Text & "', 0)"
objConn = New OleDbConnection(strDSN)
objCmd = New OleDbCommand(strSQL, objConn)
objCmd.Connection.Open()
objCmd.ExecuteNonQuery()
objCmd.Connection.Close()
End If
End Sub
</script>
Jag tycker att mitt sätt att använda rs.addnew verkar mycket smidigare, då man slipper dom tokigt långa sql-strängarna som lätt kan uppstå annars...
Finns det något sätt att göra detta på i asp.net (vb)?
Sv: asp vs asp.net...
Nix går inte, dock kan man göra en hel del kuliga saker om du andänder Adapter klassen och dataSets, men lite osäker om allt detta stöd finns för OleDb, har inte arbetat med access eller andra databaser än SQL på de senaste 5 åren så jag är inte så påläst om exakt alla undantag i ADO .Net.
Mvh JohanSv:asp vs asp.net...
/JohanSv: asp vs asp.net...
Håller med om att ditt sätt i klassisk ASP är smidigare.
Ett enkelt sätt att öka läsbarheten är dock med hjälp av radfortsättningstecknen _ och &.
Typ
strSQL = "INSERT INTO ansokan (" _
& "username," _
& "email," _
.........osv) VALUES ('" _
& tbHandle.text & "' , '" _
& tbEmail.text & "' , '" _
......osv
Lite pilligt första gången men ger bättre överblick tycker jag iaf! :)