2016-07-29 9 views
-1

Daten aus SQL zu zeigen, möchte ich meine select Syntac in lable zeigen aber mein Code, um diese nur Show 1 actualy Daten 11vb.net wie in lable

Try 
    If IsNothing(ds.Tables("kkpsurabaya")) = False Then 
     ds.Tables("kkpsurabaya").Rows.Clear() 
    End If 

    query = "SELECT count(total_telat) FROM kkpsurabaya WHERE LATE <=30 And Late >=1" 

    da = New SqlDataAdapter(query, conn) 
    da.Fill(ds, "kkpsurabaya") 

    Label7.Text = da.Fill(ds, "kkpsurabaya") 

    da.Dispose() 
    conn.Close() 
Catch ex As Exception 
    FatalErrorOccured(ex) 
End Try 

keine Arbeit pic1

enter image description here

+0

Gibt es zwei Felder: "LATE" und "Late" oder nur Tippfehler? – Grace

+0

nur Tippfehler, aber das in sql arbeiten –

+0

'Label7.Text' zeigt die Anzahl der zurückgegebenen Zeilen? Wenn Sie SQL-Abfrage in Label zeigen möchten, dann verwenden Sie 'Label9.Text = query' – Fabio

Antwort

0

jetzt gelöst

conn.Open() 

    query = "SELECT count(total_telat) as total_telat FROM kkpsurabaya WHERE total_telat <=30 and total_telat >=1" 
    cmd = New SqlCommand(query, conn) 
    Try 

     RD = cmd.ExecuteReader() 
     If RD.Read() Then 
      Label7.Text = RD.GetValue(0) 
     End If 
     RD.Close() 
    Catch ex As System.Exception 
     MsgBox(ex.Message) 
    End Try 
    conn.Close() 
+0

Besser aber immer noch nicht das Beste. Siehe meine andere Antwort. – jmcilhinney

1

Sie sollten nicht einen Datenadapter und 01 werden unter Verwendung vondafür. Dies dient dazu, eine tabellarische Ergebnismenge zu erhalten. Wenn Sie einen einzelnen Wert wünschen, verwenden Sie einen Befehl und rufen Sie ExecuteScalar.

Dim command As New SqlCommand(query, conn) 

Label7.Text = command.ExecuteScalar().ToString() 

Um zu erfahren, welche Objekte ADO.NET in welchen Situationen zu verwenden, überprüfen here meine Beispiele.