webForumDet fria alternativet

Vill ha "EOF"

3 svar · 264 visningar · startad av - Henke -

- Henke -Medlem sedan jan. 200229 inlägg
#1

Hej!

Är superny på .Net. Har alldeles precis börjat. Körde tidigare ASP och nu har jag en fråga.

I ASP kunde man ju köra:

If Not rs.EOF then
  Do Until Rs.EOF
    'Gör något
  Loop
Else
  Response.Write "Det fanns inget värde"
End if

Nu har jag följande kod (inte kommit längre):

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
  sub Page_Load(sender as Object, e as EventArgs)
    'Create a connection string
    Dim connString as String
    connString = "Provider=MySQLProv;Data Source=henke;User Id=henke;Password=XXXXXX;"
    
    'Open a connection
    Dim objConnection as OleDbConnection
    objConnection = New OleDbConnection(connString)
    objConnection.Open()
    
    'Specify the SQL string
    Dim strSQL as String = "SELECT * FROM message where id = 4"
    
    'Create a command object
    Dim objCommand as OleDbCommand
    objCommand = New OleDbCommand(strSQL, objConnection)

    'Get a datareader
    Dim objDataReader as OleDbDataReader
    objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

    'Do the DataBinding
    dgResults.DataSource = objDataReader
    dgResults.DataBind()    
    
    'Close the datareader/db connection
    objDataReader.Close()
  end sub
</script> 

<asp:DataGrid id="dgResults" runat="server" />

Men det blir ju bara tomt om ID = 4 inte existerar.
Hur gör jag för att få det att fungera ungefär som i ASP?

JosefMedlem sedan mars 20023 561 inlägg
#2

Du kan väl antingen köra ett Try&Catch-block, eller så kan du väl kolla om du får tillbaka några rader innnan du binder datat till DataGriden?

PaceMedlem sedan juni 20019 024 inlägg
#3

Räkna antalet rader i din DataGrid med datagrid.Items.Rows.Count (eller var det datagrid.Rows.Count). Om det är 0 kan du visa en label med texten "Det fanns inget värde".

asmodieMedlem sedan jan. 2004501 inlägg
#4

Du kan jue kolla om din reader överhuvudtaget läser.
Tex.
if reader.Read()
dgResults.DataSource = objDataReader
else
lblMsg.Text = "Det fanns inga rader"
End If

E c# proggare. Så syntaxen är nog pheting fel. men jag hoppas ni fattar vad jag menar.

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)