Mandar mensaje al Usuario.

05/05/2004 - 21:22 por Mariano Mendez | Informe spam
Hola.

Como puedo mandar un mensaje al usuario cuando no existe
un registro?

Puedo hacerlo desde VB con un Recordset, pero si hay 1
millon de registros tardara mucho?

rs.Open "Select IdNumero from Tibias WHERE IdNumero=1"

O bien podria mandarlo desde un Procedure para que fuera
mas rapido, pero como lo haria?

Gracias de antemano por su ayuda

Preguntas similare

Leer las respuestas

#6 Emilio Boucau \(en casa\)
06/05/2004 - 03:03 | Informe spam
Mariano,

la verdad, lo veo bastante manual al tema y no termina de convencerme, pero
lo que creo que necesitas es que graben con el Max( Campo ) + 1. Eso si, vas
a tener que manejar muy bien la concurrrencia para que no te graben 2
facturas con el mismo numero.

Ahora, no entiendo por que decis que no tenes autonumericos si de eso se
encarga el SQL Server no el cliente


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com
Respuesta Responder a este mensaje
#7 Maxi
06/05/2004 - 03:13 | Informe spam
Hola Emilio!! no cocincido contigo en usar el MAX y el autonumerico, son 2
tecnicas que a la larga tienen muchos problemas, sobre todo de concurrencia.

Yo lo que propongo es esto:

a) generar una tabla donde tenga como campos (Tabla_name,next_number)

En tabla_name pongo el nombre de las tablas que quiero con autonumerico y en
Next_number el proximo numero, claro ademas podriamos poner sufijo y
prefijo no :-)

Bien entonces como registro supongamos que tenemos

Facturas, 101

Tabla Facturas proximo numero el 105

Bien hasta aca es simple

Luego en mi Store de Insert del CRUD hago algo asi como

1) inicio una transaccion
2) hago un select a la tabla donde esta el proximo numero
3) inserto con los parametros de entrada y uso este valor para la factura
4) hago el update a la tabla que contiene los autonumericos sumandole 1
5) cierro la transaccion

Te comento que esto lo tengo asi en un sistema con mas de 100 usuarios
concurrentes que hacen muchas transacciones y nunca generas una factura o
lo que sea duplicado, es mas el Store retorna el valor de factura que genero
y eso se lo muestro al usuario en un campito.

Bye

pd: si es necesario codigo me dicen y mando ;-)

Salu2

Maxi

Desarrollador 3 estrellas .NET
Buenos Aires - Argentina

MSN:

"Emilio Boucau (en casa)" escribió en el mensaje
news:
Mariano,

la verdad, lo veo bastante manual al tema y no termina de convencerme,


pero
lo que creo que necesitas es que graben con el Max( Campo ) + 1. Eso si,


vas
a tener que manejar muy bien la concurrrencia para que no te graben 2
facturas con el mismo numero.

Ahora, no entiendo por que decis que no tenes autonumericos si de eso se
encarga el SQL Server no el cliente


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com


Respuesta Responder a este mensaje
#8 Mariano Mendez
06/05/2004 - 04:32 | Informe spam
Que tal Max..

Bien.. el emblema es que puede haber facturas
Alfanumericas, pueden ser 1020 que puede ser numerica y
A1020 alfanumerica. Porque asi me paso una vez, yo tenia
un ejemplo como tu lo dices, ponia un autonumerico de las
Facturas consecutivas, pero sucede que las cancelan y
hacen unas facturas previas y las ponen alfanumericas, por
eso los usuarios tenian que poner el No. de Factura y tuve
que cambiar mucho codigo, me explico.

Saludos
Respuesta Responder a este mensaje
#9 Mariano Mendez
06/05/2004 - 04:35 | Informe spam
Hola Emilio.

La situacion es que hay improvistos por el no consecutivo
de facturas, pueden ser numericas y alfanumericas, me paso
asi en una ocasion, al momento de agregar tenia ya un
codigo para generar la factura siguiente, pero que paso en
adelante... cancelaron las facturas y trajeron unas
improvistas con Alfanumericos, A1929, por eso la situacion
de que el Cliente tenia que teclear el No. de Factura.

Saludos y gracias
Respuesta Responder a este mensaje
#10 Maxi
06/05/2004 - 04:48 | Informe spam
Hola, bueno pero no importa mucho eso!! te cuento como lo solucione yo ;-)

en mi aplicacion tengo un campo Nro_factura si bien el usuario si no escribe
nada ahi y pone salvar hace lo que te comente antes.

Ahora, si el usuario escribe algo ahi lo que yo hago es llamar a un Store
que me hace el Select con el Where, que puede pasar? Que traiga registros y
entonces lleno mis controles o que no traiga registros entonces no lleno los
controles y marco de alguna forma esto (por ej en VB en el TAG de los
controles)

Bien entonces luego de llenar mis campos, tengo mis stores de CRUD (ABM) y
el cliente pasa parametros
El Store sabe que si recibe como parametro el numero de factura no debe ir a
buscar nada a la tabla que te comente y debe intentar hacer el insert con
ese Nro, que puede pasar? si existe el mismo motor me da error y esto la
aplicacion cliente lo ve sin problemas, o que no me de error :-)

Esta es una forma para solcionar lo que decis que de por si es una realidad
:(

Espero te sea util, te repito es rapido y efectivo y aun mas si te conectas
cuando lo necesitas y te desconectas cuando no lo necesitas.

El gran problema que estoy viendo en estos tiempos es que muchos
programadores quieren hacer:

Un select * from Facturas y con eso llenar un Dataset o llevarlo todo al
cliente, y luego desde ahi comprobar, por lo cual es muy costoso esto.

Bye




Salu2

Maxi

Desarrollador 3 estrellas .NET
Buenos Aires - Argentina

MSN:

"Mariano Mendez" escribió en el
mensaje news:8df401c43312$67d1b100$

Que tal Max..

Bien.. el emblema es que puede haber facturas
Alfanumericas, pueden ser 1020 que puede ser numerica y
A1020 alfanumerica. Porque asi me paso una vez, yo tenia
un ejemplo como tu lo dices, ponia un autonumerico de las
Facturas consecutivas, pero sucede que las cancelan y
hacen unas facturas previas y las ponen alfanumericas, por
eso los usuarios tenian que poner el No. de Factura y tuve
que cambiar mucho codigo, me explico.

Saludos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida