PDA

View Full Version : [ASP .NET 2005] Popolare una Textbox da DB


luxe
17-09-2008, 10:50
Ciao ragazzi, non essendo molto pratico di DB vi chiedo una mano.
Ho un db con molti record con campo ID incrementale.
Vorrei scrivere l'ID dell'ultimo record su una text box, ma non ci riesco.
Sono arrivato a questo punto:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim conn As String = ConfigurationManager.ConnectionStrings(1).ConnectionString
Dim connection As SqlConnection = New SqlConnection(conn)
Dim sql As String = "select max(ID) as ID from TABELLA"
Dim cmd As SqlCommand = New SqlCommand(sql, connection)

connection.Open()
cmd.ExecuteNonQuery()
connection.Close()

End Sub

Come posso fare?

Grazie in anticipo.

luxe
17-09-2008, 11:27
PROVAVO ANCHE COSI:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim conn As String = ConfigurationManager.ConnectionStrings(1).ConnectionString
Dim sqlConnection1 As New SqlConnection(conn)
Dim cmd As New SqlCommand
Dim reader As SqlDataReader
cmd.CommandText = "SELECT max(ID) as ID from TABELLA"
cmd.CommandType = CommandType.Text
cmd.Connection = sqlConnection1

sqlConnection1.Open()

reader = cmd.ExecuteReader()

sqlConnection1.Close()
End Sub

MA non riesco ad associare la textbox, alla select

Kralizek
17-09-2008, 13:09
Ciao ragazzi, non essendo molto pratico di DB vi chiedo una mano.
Ho un db con molti record con campo ID incrementale.
Vorrei scrivere l'ID dell'ultimo record su una text box, ma non ci riesco.
Sono arrivato a questo punto:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim conn As String = ConfigurationManager.ConnectionStrings(1).ConnectionString
Dim connection As SqlConnection = New SqlConnection(conn)
Dim sql As String = "select max(ID) as ID from TABELLA"
Dim cmd As SqlCommand = New SqlCommand(sql, connection)

connection.Open()
cmd.ExecuteNonQuery()
connection.Close()

End Sub
Come posso fare?

Grazie in anticipo.


RTFM

DbCommand.ExecuteNonQuery() esegue una "non query" ovvero qualcosa che non deve ritornare alcun risultato (vedi insert, update, delete). In realtà, tipicamente, ritorna il numero di righe affette dalla query.

Nel tuo caso devi usare il metodo DbCommand.ExecuteScalar(). Ti ritorna una variabile di tipo System.Object che devi castare al tipo di interesse.

luxe
17-09-2008, 23:52
Grazie per la risposta, mi hai dato la soluzione che cercavo !:)