Actualizar en ADO.NET

10/05/2007 - 18:08 por Boha | Informe spam
Hola a todos. Con el ADO y en VB (por ODBC) para actualizar un campo de una
tabla simplemente se asignaba el valor al fiel del recordset:

CadSql = " select tid = varchar(tid), num_apunte from tmpdiario"
Rs.Open CadSql, Cnn, adOpenKeyset, adLockOptimistic, adCmdText
While Not Rs.EOF
Contador = Contador + 1
Rs!num_apunte = Contador
Rs.MoveNext
Wend

En ADO.NET no me actualiza nada. ¿Como puedo simular el código anteriror?
Lo que intento hacer es poner un secuencial a un campo.

Muchas gracias de antemano.

Preguntas similare

Leer las respuestas

#1 SergioT
06/07/2007 - 18:04 | Informe spam
Hola

primero que nada la gran diferencia es que ado.net trabaja en modo
desconectado es decir que en ado.net tienes una estructura totalmente
diferente para la actualizacion

Si lo que quieres es hacer eso en memoria sin afectar tu tabla real trabaja
con un dataset asi:
imports system.data.SqlClient
..
dim cnn as new SqlConnection("cadena de conexion a tu db")
dim cmd as new sqlcommand("select * from tmpdiario",cnn)
dim da as new sqlDataAdapter(cmd)
dim ds as new dataset
dim r as datarow
dim n as int32=0

da.fill(ds)

for each r in ds.tables(0).rows
r("num_apunte")=n
n+=1
next r

Si lo que quieres es adicionar campos con un incremento yo te diria que
hagas un SP en tu BD algo asi:

CREATE PROCEDURE dbo.Instmpdiario
(
@NumApunte int output,
@Campo1 tinyint,
@Campo2 tinyint,
)
AS
SET NOCOUNT OFF;
set @NumApunte=coalesce((Select max(numApunte) from tmpdiario),0)+1
INSERT INTO tmpdiario(NumApunte, campo1,campo2) VALUES (@NumApunte, @Campo1,
@Campo2);
SELECT Ges, Ciclo, Desde, Hasta, FactorCred FROM bCiclo WHERE
(NumApunte=@NumApunte

y luego lo ejecutas con un comando N veces para adicionar n Registros


salu2
sergio


"Boha" escribió en el mensaje
news:
Hola a todos. Con el ADO y en VB (por ODBC) para actualizar un campo de
una
tabla simplemente se asignaba el valor al fiel del recordset:

CadSql = " select tid = varchar(tid), num_apunte from tmpdiario"
Rs.Open CadSql, Cnn, adOpenKeyset, adLockOptimistic, adCmdText
While Not Rs.EOF
Contador = Contador + 1
Rs!num_apunte = Contador
Rs.MoveNext
Wend

En ADO.NET no me actualiza nada. ¿Como puedo simular el código anteriror?
Lo que intento hacer es poner un secuencial a un campo.

Muchas gracias de antemano.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida