Foros del Web » Programación para mayores de 30 ;) » .NET »

Insert Into con variable en SQL server

Estas en el tema de Insert Into con variable en SQL server en el foro de .NET en Foros del Web. Necesito insertar datos a una base de datos de SQL server 2005, los datos de variables de formulario (datos.text), segun tengo entendido es asi: sql ...
  #1 (permalink)  
Antiguo 18/03/2008, 17:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 0
Insert Into con variable en SQL server

Necesito insertar datos a una base de datos de SQL server 2005, los datos de variables de formulario (datos.text), segun tengo entendido es asi:

sql = "INSERT INTO usuario(nombres,usuario,clave,confclave) VALUES(@nom,@nom,@nom,@nom)"

pero me sale un error y si le pongo entre apostofes se me graba como constante.


Gracias por su ayuda
  #2 (permalink)  
Antiguo 18/03/2008, 17:24
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 17 años, 2 meses
Puntos: 87
Re: Insert Into con variable en SQL server

asi como esta q error te aparece??

definiste ya tus SqlParameters para cada uno de tus parametros.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 18/03/2008, 18:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Insert Into con variable en SQL server

Pega el código y lo vichamos, asi como esta parece estar bien
  #4 (permalink)  
Antiguo 18/03/2008, 18:44
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Insert Into con variable en SQL server

Cita:
Iniciado por Peterpay Ver Mensaje
asi como esta q error te aparece??

definiste ya tus SqlParameters para cada uno de tus parametros.
No he definido; en este momento ya estoy definiendo pero no me sale nada; me da error.

Me puedes enviar un ejemplo para darme cuenta mas o menos; pasa q estoy parendiendo.
  #5 (permalink)  
Antiguo 18/03/2008, 18:53
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 17 años, 2 meses
Puntos: 87
Re: Insert Into con variable en SQL server

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrin gs["SERVER"].ConnectionString);
connection.Open();
SqlCommand update = new SqlCommand("update tbl_client set colorschema=@colorSchema where id=@clientId ", connection);
SqlParameter parameterSchema = new SqlParameter("@colorSchema", schema);
SqlParameter parameterClient = new SqlParameter("@clientId", clientId);
update.Parameters.Add(parameterSchema);
update.Parameters.Add(parameterClient);
int result=update.ExecuteNonQuery();

algo asi
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 22/03/2008, 13:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Insert Into con variable en SQL server

Cita:
Iniciado por claudior Ver Mensaje
Pega el código y lo vichamos, asi como esta parece estar bien
Aqui esta el codigo

Info=False;Initial Catalog=FACTUA;Data Source=PC10\SWFACTURA;")
cnStr = "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FACTUA;Data Source=PC10\SWFACTURA;"
cn.ConnectionString = cnStr
sql = "INSERT INTO usuario(nombres,usuario,clave,confclave) VALUES(@nom, @nom, @nom, @nom)"
cmd = New OleDbCommand(sql, cn)
cmd.Parameters.Add(New OleDb.OleDbParameter("@nom", OleDbType.VarChar))
cmd.Parameters("@nom").Value = TextBox1.Text
cmd.Connection.Open()
cmd.ExecuteReader()
cn.Close()


Me da un erros que no se ha definido la variable escalar.
  #7 (permalink)  
Antiguo 29/05/2008, 07:27
 
Fecha de Ingreso: mayo-2008
Ubicación: Peru
Mensajes: 2
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Insert Into con variable en SQL server

hola gent...una consulta..me gustaria saber xq me sale el error de :
Mens. 137, Nivel 15, Estado 1, Línea 6
Debe declarar la variable escalar "@TABLA1".

mi code:

DECLARE @TABLA1 TABLE(C_Tare INT,
D_MES VARCHAR(20),
N_ESTA VARCHAR(10),
F_PROG DATETIME)

SET @TABLA1 = (SELECT TOP 1
Control.C_Tare,
CASE Periodo.D_Mes
When 1 Then 'ENERO'
When 2 Then 'FEBRERO'
When 3 Then 'MARZO'
When 4 Then 'ABRIL'
When 5 Then 'MAYO'
When 6 Then 'JUNIO'
When 7 Then 'JULIO'
When 8 Then 'AGOSTO'
When 9 Then 'SETIEMBRE'
When 10 Then 'OCTUBRE'
When 11 Then 'NOVIEMBRE'
When 12 Then 'DICIEMBRE'
END + ' ' + (CONVERT(VARCHAR(5),YEAR(Control.D_CierProg))) as D_Mes,
Estado.N_Esta,
ISNULL(CONVERT(char,Control.D_CierProg,103),'-') as D_CierProg
FROM Periodo
INNER JOIN Control ON Periodo.C_Peri = Control.C_Peri
INNER JOIN Estado ON Control.C_Esta = Estado.C_Esta
WHERE Estado.N_Esta = 'CERRADO' OR Estado.N_Esta ='ABIERTO'
ORDER BY D_MES DESC)

DECLARE @TABLA2 TABLE(C_Tare INT,
D_MES2 VARCHAR(20),
N_ESTA2 VARCHAR(10),
F_PROG2 DATETIME)

SET @TABLA2 = (SELECT TOP 1
Control.C_Tare,
CASE Periodo.D_Mes
When 1 Then 'ENERO'
When 2 Then 'FEBRERO'
When 3 Then 'MARZO'
When 4 Then 'ABRIL'
When 5 Then 'MAYO'
When 6 Then 'JUNIO'
When 7 Then 'JULIO'
When 8 Then 'AGOSTO'
When 9 Then 'SETIEMBRE'
When 10 Then 'OCTUBRE'
When 11 Then 'NOVIEMBRE'
When 12 Then 'DICIEMBRE'
END + ' ' + CONVERT(VARCHAR(5),YEAR(D_CIERPROG) )as D_Mes,
Estado.N_Esta,
ISNULL(CONVERT(char,Control.D_CierProg,103),'-') as D_CierProg
FROM Periodo
INNER JOIN Control ON Periodo.C_Peri = Control.C_Peri
INNER JOIN Estado ON Control.C_Esta = Estado.C_Esta
WHERE Estado.N_Esta = 'EN PROCESO'
ORDER BY YEAR(D_CIERPROG) DESC)

SELECT *
FROM @TABLA1 TB1
INNER JOIN @TABLA2 TB2 ON TB1.C_Tare = TB2.C_Tare

me gustaria saber su respuesta...gracias..hablamoz...
  #8 (permalink)  
Antiguo 29/05/2008, 12:42
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Respuesta: Insert Into con variable en SQL server

Dixgo

Copie el mensaje al foro correspondiente

http://www.forosdelweb.com/f87/inser...readas-591433/

Cualquier duda ya no escribas aqui, hazlo en el nuevo

Saludos
  #9 (permalink)  
Antiguo 29/05/2008, 22:37
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Re: Insert Into con variable en SQL server

Prueba esto a ver si te sirve



Dim conexion As String = "Data Source=organiza-q3kfra\sqlexpress;Initial Catalog=farmacia;Integrated Security=True"
Dim sql As String = "insert into datos(datos_comprador,comentarios)values(@datos_co mprador,@comentarios)"
Dim cn As New SqlConnection(conexion)
Dim cmd As New SqlCommand(sql, cn)
cn.Open()
cmd.Parameters.AddWithValue("@datos_comprador", TextBox1.Text)
cmd.Parameters.AddWithValue("@comentarios", TextBox2.Text)
cmd.ExecuteNonQuery()
TextBox1.Text = ""
TextBox1.Text = ""
  #10 (permalink)  
Antiguo 13/12/2011, 17:53
 
Fecha de Ingreso: diciembre-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Respuesta: Insert Into con variable en SQL server

Hola a todos, soy nuevo en programación y estoy trabajando en una aplicación en MFC de VC++

cuando se da un evento debo almacenarlo en la base de datos, indicando la fecha y el dispositivo que presento falla (en este caso un entero)

lo he intentado de esta forma:
int i=8; //(ejemplo) i puede seun entero del 1 al 16
SqlString = "INSERT INTO ....";
SqlString = ("INSERT INTO Tabla1(receptor,Fecha )VALUES(%s,%d)",i, getDate( ));
db.ExecuteSQL( SqlString );

la verdad es que no se cómo hacer para cargar las variables en la sentencia!
cuando coloco este string no reconoce a i como entero y me da error del tipo de dato pero si no coloco 'i' entre comillas simples me da un error que dice que faltan elementos :

SqlString = ("INSERT INTO Tabla1(Fecha, receptor)VALUES('i',%s)", getDate( ));

puede alguien ayudarme con esto??

pd- Si coloco el string asi si funciona pero necesito que sea pueda leer las variables:

SqlString = ("INSERT INTO Tabla1(Fecha, receptor)VALUES('8',#12/12/11)");

muchas gracias
  #11 (permalink)  
Antiguo 13/12/2011, 18:01
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 1 mes
Puntos: 58
Respuesta: Insert Into con variable en SQL server

Hola que tal, bueno en esta parte tienes un error:

SqlString = ("INSERT INTO Tabla1(Fecha, receptor)VALUES('i',%s)", getDate( ));

como el campo es fecha ( SMALLDATETIME ) en SQL le quieres dar un valor de entero, pero eso es incorrecto, lo puedes hacer de la siguiente manera:

INSERT INTO Tabla1(Fecha, receptor)
VALUES( GETDATE(),1 );

Para eso en C++, lo tienes que formatear el string:

CString sSqlTexto = "", sFecha = GetDate();
int i = 1;

sSqlTexto.Format( "INSERT INTO Tabla1(Fecha, receptor) VALUES( '%s',%ld );", sFecha, i );

Si tienes una fecha en especifico, lo puedes hacer asi:

CString sSqlTexto = "", sFecha = '2011-12-13';
int i = 1;

sSqlTexto.Format( "INSERT INTO Tabla1(Fecha, receptor) VALUES( '%s',%ld );", sFecha, i );

Recuerda que las fechas se graban AAAA - MM - DD ( Siendo Año - Mes - Dia ).

Otra cosa, recuerda que el modo en que estas poniendo el INSERT es el orden que tiene que estar el VALUES, sino te marcara error.

Espero te sirva
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:01.