Visual Basic - VB y SQL SERVER

Life is soft - evento anual de software empresarial
 
Vista:

VB y SQL SERVER

Publicado por eduardo (86 intervenciones) el 05/02/2004 14:56:07
Hola que tal mi problema es el siguiente tengo una aplicacion que esta diseñada bajo VB y SQL Server y tengo algunos Procedimientos Almacenados o Stored Procedure y cuando los llamo desde mi aplicacion y les paso un parametro pasa lo siguiente

Si por ejemplo quiero listar Todas las personas que viven en una ciudad y le paso como parametro la ciudad
1.- Si la ciudad es 'CARACAS'
PERFECTO me trae todas las personas que viven en Caracas
2.- Si la ciudad es 'LA GUAIRA' o 'SAN CARLOS' o cualquier ciudad con un "ESPACIO" me da un error que dice error en sintaxis

Cabe destacara que trabajo con ADO y la llamada a mi Proc Almacenado es el siguiente

Dim RS As ADODB.Recordset
Dim StrSql As String

StrSql = " execute('SP_Busca_Persona " & Txt_Ciudad.Text & "')"
Set RS = gadoConn.Execute(StrSql)

Str_Linea = 1
GR_Personas.Clear
GR_Personas.FormatString = "Codigo | Nombre | Direccion "
GR_Personas.Rows = 2
If Not RS.EOF Then
Do While Not RS.EOF
GR_Personas.AddItem ""
GR_Personas.TextMatrix(Str_Linea, 0) = RS("codigo_Persona")
GR_Personas.TextMatrix(Str_Linea, 1) = RS("Nombre_Persona")
GR_Personas.TextMatrix(Str_Linea, 2) = RS("Direccion_Persona")
Str_Linea = Str_Linea + 1
RS.MoveNext
Loop
End If
RS.Close
Set RS = Nothing


Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VB y SQL SERVER

Publicado por Ruben (129 intervenciones) el 05/02/2004 17:08:48
porq en vez de poner:
StrSql = " execute('SP_Busca_Persona " & Txt_Ciudad.Text & "')"
Set RS = gadoConn.Execute(StrSql)

pones:

strsql= "select personas from tabla where ciudad like '%san carlos'%
rs.open strsql,DB

y luego como seguis vos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lo que pas es

Publicado por eduardo (86 intervenciones) el 05/02/2004 17:22:02
Lo que ocurre es que las consultas deben de hacerse del lado del Servidor y no del lado del programa cliente mediante los Stored Procedure de SQL (y pq debe hacerse asi??? pues Preguntale a mi Jefe :-( ) y el miserable problema es que cuando si el parametro que paso tiene espacio me tira un error

como se haria entonces
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo que pas es

Publicado por Ruben (129 intervenciones) el 05/02/2004 18:06:15
mira... la verdad no se que puede ser, habria que ver como es el cvodigo del SP, pero ya seria algo que me supera por mucho, espero que lo puedas solucionar y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VB y SQL SERVER

Publicado por Pablo B. (14 intervenciones) el 11/02/2004 16:10:06
Primero hay que aclarar que el Stored Procedure es para que la información no viaje en la consulta desde el servidor hasta el cliente, ésto ayuda a que el tiempo de respuesta de la aplicación sea muchas veces mejor.

Segundo, en la instrucción veo que tienes un problema al armarla, cuando pones una ciudad no hay problema porque lo interpreta como un solo valor en los parámetros del SP_Busca_Persona, pero cuando mandas 2 palabras las interpreta como 2 valores distintos. No especificas como tienes creado el Stored Procedure, por lo que es complicado tratar de inferirlo, pero lo que yo entiendo que debes hacer es enviar el parámetro Txt_Ciudad.text como un texto completo enmarcado entre comillas hacia el Stored Procedure SP_Busca_Persona, ponlo entre las comillas y deberá corregirse.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar