jag har lite problem med applikation med databas, det är en nyhets applikation som man kan "läsa mer" på, då länkas det så här, nyheter.aspx?id=123 . <code> Kan ju säga att jag använder den här koden, jag är tyvärr en nybörjare inom asp.net Micke,ifall det inte finns någon post
Men ifall inte id 123 finns i databasen så får jag ett felmeddelande och i asp så skriver man ju:
<code>
If rstRecSet.EOF Then
' ifall det är tomt
else
' skriver ut datan
end if
</code>
Har tänkt att man kunde göra typ så här:
Men tror inte det är den rätta lösningen.
<code>
If IsNull then
' ifall det är tomt
else
' skriver ut datan
end if
</code>
Skulle vara tacksam ifall ni ville hjälpa mig med en bra lösning.
// MickeSv: ifall det inte finns någon post
...
OleDbDataReader dr = ...
if dr.HasRows then
// 123 finns
else
// 123 finns inte
end if
dr.Close()
...
</code>Sv: ifall det inte finns någon post
Hur ska jag skriva min kod för att få det funka med OleDbDataReader?
<code>
Dim StrConnection As String
Dim StrSql As String
StrConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data source = " & _
Server.MapPath("db\plvtdata.mdb")
StrSql = "SELECT * FROM huvudmeny"
Dim objConnection As New OleDbConnection(StrConnection)
Dim objCommand As New OleDbCommand(StrSql, objConnection)
objConnection.Open()
huvudmenyn.DataSource = objCommand.ExecuteReader()
huvudmenyn.DataBind()
objConnection.Close()
</code>
Hälsningar
MickeSv: ifall det inte finns någon post
Så farligt långt ifrån är du inte..
objConnection.Open()
Dim objReader As OleDbReader = objCommand.ExecuteReader()
objConnection.Close()
' Kontrollera om vi fick tillbaka någon information
' från databasen.
If objReader.HasRows Then
huvudmenyn.DataSource = objReader
huvudmenyn.DataBind()
Else
' Ingen information returnerades så
' vi hanterar detta seperat.
End If
Hoppas detta hjälper