Command

02/07/2005 - 21:10 por Richad | Informe spam
Hola a Todos.

Tengo un codigo como el que sigue:
Dim valor As String = Valortxt.text
'Donde Valortxt en un Text Box que deseo que sea mi parametro

'Crear un abjeto command
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT LastName, FirstName FROM Employees" &_
"WHERE EmployeesID=" &valor&""

Al realizar la ejecucion me sale un error indicandome que el nombre de la
columna 'valor' no existe, la pregunta es como puedo ejecutar un SQLCommand
que tenga como parametro Where el valor de Text Box.

Lo que pasa es que el Power builder solo en la Sentencia SQL lo hacia de la
siguiente manera.

SELECT LastName,
FirstName
FROM Employees,
WHERE EmployeesID:=Valortxt.text;

La asignacion era directamente, estoy empezando a programar con VBasic.NET
siempre programe con Power Builder.

Desde ya agradesco a sus respuestas.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
02/07/2005 - 22:00 | Informe spam
"Richad" wrote in message
news:
Hola a Todos.

Tengo un codigo como el que sigue:
Dim valor As String = Valortxt.text
'Donde Valortxt en un Text Box que deseo que sea mi parametro

'Crear un abjeto command
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT LastName, FirstName FROM Employees" &_
"WHERE EmployeesID=" &valor&""

Al realizar la ejecucion me sale un error indicandome que el nombre de la
columna 'valor' no existe, la pregunta es como puedo ejecutar un


SQLCommand
que tenga como parametro Where el valor de Text Box.

Lo que pasa es que el Power builder solo en la Sentencia SQL lo hacia de


la
siguiente manera.

SELECT LastName,
FirstName
FROM Employees,
WHERE EmployeesID:=Valortxt.text;

La asignacion era directamente, estoy empezando a programar con VBasic.NET
siempre programe con Power Builder.

Desde ya agradesco a sus respuestas.



El método recomendable es este:

myCmd.CommandText = "SELECT LastName, FirstName FROM Employees WHERE
EmployeesID=@Parametro"
myCmd.Parameters.Add("@Parametro", valor)

Para que funcione con esta sintaxis, es importante que el tipo de "valor"
sea el mismo que el de "EmployeesID" (por ejemplo, si EmployeesID es INT,
entonces valor tiene que ser un Integer).
Respuesta Responder a este mensaje
#2 Julio Casal
03/07/2005 - 18:07 | Informe spam
Qué tal Richard. Mira, el código que deberías ejecutar sería algo así:

Public Shared Function RecuperarEmpleado(ByVal idEmpleado As Integer) As
Empleado
Dim cn As New SqlConnection("Data Source = (local); Initial Catalog
= NorthWind; Integrated Security = SSPI")
Dim sentencia As String = "SELECT LastName, FirstName FROM Employees
WHERE EmployeeID = @IdEmpleado"

Dim cmd As New SqlCommand(sentencia, cn)
Dim param As SqlParameter = cmd.Parameters.Add("@IdEmpleado",
SqlDbType.Int)
param.Value = idEmpleado

Dim emp As Empleado
cn.Open()
Dim dr As SqlDataReader =
cmd.ExecuteReader(CommandBehavior.CloseConnection)
If dr.Read Then
emp = New Empleado(idEmpleado,
dr.GetString(dr.GetOrdinal("FirstName")),
dr.GetString(dr.GetOrdinal("LastName")))
End If

Return emp
End Function


Esa es la forma correcta y la más rápida para recuperar un registro de tu
tabla Employee. Simplemente pásale a la función el contenido de tu TextBox.
Algo como:

RecuperarEmpleado(Integer.Parse(miTextBox.Text.Trim))


Espero te haya sido de ayuda.
Saludos.

Julio Casal
.Net Solution Developer
MCAD
Disma C. Ltda.


"Richad" wrote:

Hola a Todos.

Tengo un codigo como el que sigue:
Dim valor As String = Valortxt.text
'Donde Valortxt en un Text Box que deseo que sea mi parametro

'Crear un abjeto command
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT LastName, FirstName FROM Employees" &_
"WHERE EmployeesID=" &valor&""

Al realizar la ejecucion me sale un error indicandome que el nombre de la
columna 'valor' no existe, la pregunta es como puedo ejecutar un SQLCommand
que tenga como parametro Where el valor de Text Box.

Lo que pasa es que el Power builder solo en la Sentencia SQL lo hacia de la
siguiente manera.

SELECT LastName,
FirstName
FROM Employees,
WHERE EmployeesID:=Valortxt.text;

La asignacion era directamente, estoy empezando a programar con VBasic.NET
siempre programe con Power Builder.

Desde ya agradesco a sus respuestas.
Respuesta Responder a este mensaje
#3 Richad
05/07/2005 - 03:19 | Informe spam
Ok. gracias Julio el codigo me funciona bien te agradesco tu interes.


"Julio Casal" wrote:

Qué tal Richard. Mira, el código que deberías ejecutar sería algo así:

Public Shared Function RecuperarEmpleado(ByVal idEmpleado As Integer) As
Empleado
Dim cn As New SqlConnection("Data Source = (local); Initial Catalog
= NorthWind; Integrated Security = SSPI")
Dim sentencia As String = "SELECT LastName, FirstName FROM Employees
WHERE EmployeeID = @IdEmpleado"

Dim cmd As New SqlCommand(sentencia, cn)
Dim param As SqlParameter = cmd.Parameters.Add("@IdEmpleado",
SqlDbType.Int)
param.Value = idEmpleado

Dim emp As Empleado
cn.Open()
Dim dr As SqlDataReader =
cmd.ExecuteReader(CommandBehavior.CloseConnection)
If dr.Read Then
emp = New Empleado(idEmpleado,
dr.GetString(dr.GetOrdinal("FirstName")),
dr.GetString(dr.GetOrdinal("LastName")))
End If

Return emp
End Function


Esa es la forma correcta y la más rápida para recuperar un registro de tu
tabla Employee. Simplemente pásale a la función el contenido de tu TextBox.
Algo como:

RecuperarEmpleado(Integer.Parse(miTextBox.Text.Trim))


Espero te haya sido de ayuda.
Saludos.

Julio Casal
.Net Solution Developer
MCAD
Disma C. Ltda.


"Richad" wrote:

> Hola a Todos.
>
> Tengo un codigo como el que sigue:
> Dim valor As String = Valortxt.text
> 'Donde Valortxt en un Text Box que deseo que sea mi parametro
>
> 'Crear un abjeto command
> myCmd = myConn.CreateCommand
> myCmd.CommandText = "SELECT LastName, FirstName FROM Employees" &_
> "WHERE EmployeesID=" &valor&""
>
> Al realizar la ejecucion me sale un error indicandome que el nombre de la
> columna 'valor' no existe, la pregunta es como puedo ejecutar un SQLCommand
> que tenga como parametro Where el valor de Text Box.
>
> Lo que pasa es que el Power builder solo en la Sentencia SQL lo hacia de la
> siguiente manera.
>
> SELECT LastName,
> FirstName
> FROM Employees,
> WHERE EmployeesID:=Valortxt.text;
>
> La asignacion era directamente, estoy empezando a programar con VBasic.NET
> siempre programe con Power Builder.
>
> Desde ya agradesco a sus respuestas.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida