Sobre lo que me respondiste...

Yo pregunte:
Hola, estoy desarrollando un programa en vb.net y desearía saber como hacer para: necesito conectarme al servidor sql local, fijarme si existe cierta base de datos y si no existe entonces llamar un procedimiento que la crearía.
La duda esta en como consultar el server por la existencia de la base, pensé en hacerlo buscando los archivos mdf y ldf, pero si el server esta instalado en otra ubicación que la normal dejaría de servir. Gracias.
Vos respondiste:
En dicha base de datos podrías instalar un procedimiento como este:
if exist (select * from sysdatabases where name = 'ciertabasededatos') return 1 else return 0 end
ahora:
¿con qué tomo ese valor en vb.net?
¿Con un datareader? ¿O con un integer desde un executenonquery?

1 Respuesta

Respuesta
1
Eso excede el ámbito de SQL y más concretamente mis conocimientos de vb.net, sugiero reformules tu pregunta a otros expertos o a tablones públicos con preferencia de esa disciplina.
Basándome en mi experiencia En VB6 o access contra SQL, hay una alternativa, suponiendo que no eres capaz de atrapar un parámetro de salida en NET (cosa que en VB6 o Access se hacía simplemente con ADO, declarando un parameter de output etc.) pero si seas capaz de leer un recordset con NET desde un procedimiento almacenado. En caso afirmativo, podrías cambiar el procedimiento que te propuse anteriormente para que en vez de retornar un parámetro de salida retornase un recordset.
Quedaría algo como esto:
Declare @salida bit
if exist (select * from sysdatabases where name = 'ciertabasededatos') salida = 0
else
salida = 1
end
select @salida as salida
---
Tampoco puedo asesorarte acerca de con que tienes que regoger el resultado (recordset en este caso) con NET.
---
En otro orden de cosas O volviendo a la cuestión inicial, para la version primera del procedimiento, y dentro de mi desconocimiento, me imagino más factible que funcione con EXECUTENONQUERY que con DATAREADER, la verdad.
Muchas gracias
Cierra y puntúa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas