Concurrencia con campos text de sql server

27/04/2006 - 13:25 por solusoft | Informe spam
Hola,

básicamente tengo una aplicación windows, con mantenimientos y bbdd SQL
SERVER 2000; tengo un UpdateCommand, con el que quiero detectar la
concurrencia al actualizar.

Parte de mi comando update es:

" AND (DS_OBSER = @Original_DS_OBSER OR @Original_DS_OBSER IS NULL AND
DS_OBSER IS NULL )" +

DS_OBSER es un campo de tipo text de sql server. Esa sentencia me falla, me
da error porque para los campos text no puedo poner is null.

He probado con esto:

" AND (DS_OBSER = @Original_DS_OBSER OR
(convert(varchar(256),@Original_DS_OBSER)) IS NULL AND (convert
(varchar(256),DS_OBSER)) IS NULL )" +

Y también falla.

Si pongo

" AND ( (convert(varchar(256),@Original_DS_OBSER)) IS NULL AND (convert
(varchar(256),DS_OBSER)) IS NULL )" +

No falla, pero detecta conflicto de concurrencia cuando no lo hay.

Qué se puede hacer ? ya estoy desesperado.

Saludos y gracias anticipadas.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
27/04/2006 - 17:20 | Informe spam
"solusoft" wrote in message
news:
Esa sentencia me falla, me
da error porque para los campos text no puedo poner is null.



Tiene que ser otra cosa, porque para los campos text sí que se puede
poner is null. Acabo de probar lo siguiente (bajo Sql Server 2000 y bajo Sql
Express 2005):

create table prueba (
a int,
b text
)
go
insert prueba values(1, 'x')
insert prueba values(2, NULL)
select * from prueba where b is null
go

Y contesta como cabe esperar:

a b
2 NULL

Asi que tiene que ser algún otro problema distinto.
Respuesta Responder a este mensaje
#2 solusoft
27/04/2006 - 17:30 | Informe spam
La consulta que falla es parametrizada... y se utiliza con dataset y
sqldataadapter, no sé si influirá. No sé que podrá ser.


"Alberto Poblacion" escribió:

"solusoft" wrote in message
news:
> Esa sentencia me falla, me
> da error porque para los campos text no puedo poner is null.

Tiene que ser otra cosa, porque para los campos text sí que se puede
poner is null. Acabo de probar lo siguiente (bajo Sql Server 2000 y bajo Sql
Express 2005):

create table prueba (
a int,
b text
)
go
insert prueba values(1, 'x')
insert prueba values(2, NULL)
select * from prueba where b is null
go

Y contesta como cabe esperar:

a b
2 NULL

Asi que tiene que ser algún otro problema distinto.




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