Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   insertar en variables en sql desde visual studio (http://www.forosdelweb.com/f29/insertar-variables-sql-desde-visual-studio-576670/)

mosanpe 16/04/2008 12:51

insertar en variables en sql desde visual studio
 
Hola!

Os queria preguntar una cosilla yo hago lo siguiente:

string inser = (@"Insert into Datos1(dni,curso,id_Asignatura)values(" + dni + @"," + cursoAcademico +@"," +ID_Asignatura + @")");


el problema que tengo es que dni lo tengo declarado en visual studio como un string, debido a que como tengo la letra del dni lo necesito almacenar asi. Pero cuando hago esto, y lo inserto en la tabla de sql management, me sucede, que no lo puedo almacenar como string, sino como int.

Sabriais decirme como puedo solucionar esto. Me sucede en varios casos lo mismo, y no se me ocurre nada.

Muchas gracias.
:'(

phinojosa 16/04/2008 13:27

Re: insertar en variables en sql desde visual studio
 
Podrias de pronto manejar otro campo que sea la clave primaria y sea de tipo Identity autoincrementable en 1, y el DNI lo dejas como string.

jlbautista 16/04/2008 13:29

Re: insertar en variables en sql desde visual studio
 
Pues mira, para convertir de un tipo a otro, en este caso de STRING a INT puedes hacer varias cosas:
- int tuNumero = Convert.ToInt32("tuString");
- int tuNumero = int.Parse("tuString");
- int tuNumero = (int)"tuString";

La cuestión está en q si "tuString" trae un valor q no sea numerico te mandará una Excepción de Tipos... chécate eso, o cambia el valor de tu campo en tu Tabla "Datos1"

Espero te sirva

mosanpe 16/04/2008 14:15

Re: insertar en variables en sql desde visual studio
 
El problema que tengo por ejemlo 2003_2004 no soy capaz de guardarlo como un string.

En visual studio si lo tengo como un string, pero luego al almacenarlo en la tabla no me deja almacenarlo como un string.

Gracias por vuestra ayuda.

Peterpay 16/04/2008 15:56

Re: insertar en variables en sql desde visual studio
 
y como le estas diciendo de q tipo de SqlParameter lo pasas, me refiero a q tipo le especificas q le pasas. verificas q on sobrepase tu limite de tamaño del campo

mosanpe 16/04/2008 16:06

Re: insertar en variables en sql desde visual studio
 
Tengo declarado en sql management el tipo de dato que le voy a pasar, pero no soy capaz que me inserte el dato que yo quiero que me pase.

Lo que me sucede es que visual studio lo tengo como string y me lo pasa a int, sin hacer nada, y no se porque. y como he comentado antes 2003-2004 no puedo ponerlo como int, porque me da error, lo quiero introducir como string y no se como hacerlo.

yo lo que hago es un insert normal.

string inser = (@"Insert into Expediente(ID_Expediente,Id_Asignatura,Curso_Acadé mico)values("+dni+@"," + ID_Asignatura + @","+cursoAcademico+@")");

no donde tengo que indicar que tipo de dato vamos a pasarle. Si me pudes orientar te lo agradecería.

Un saludo.

mosanpe 17/04/2008 12:33

Re: insertar en variables en sql desde visual studio
 
Podría ser, que a la variable le ponga comillas simples y así me funcione como un string, y me lo interprete correctametne???

Si alguien me puede aclarar esto se lo agradeceria

Peterpay 17/04/2008 13:44

Re: insertar en variables en sql desde visual studio
 
ok estas queirendo concantenar tus valores actuales a tu query si no me equivoco si es un numero tendras q usar un sql parameter o en su caso hacer la conversion a string con .ToString de esas variables yo seria mas partidario de poner parameters


string insert ="Insert into Expediente(ID_Expediente,Id_Asignatura,Curso_Acadé mico)
values(@dni,@ID_Asignatura,@CursoAcademico)";

sqlcommand x=new sqlCommand(insert,conexion)
sqlparameter dni=new sqlparameter("@dni",dni);
dni.Dbtype=Dbtype.varchar; // depende como este definido en tu bd
command.Parameters.Add(dni);

sqlparameter dni=new sqlparameter("@ID_asignatura",ID_asignatura);
dni.Dbtype=Dbtype.Int; // depende como este definido en tu bd
command.Parameters.Add(dni);

etc,,,,
y asi con cada uno de los paramtros de arriba con su respectivo tipo


La zona horaria es GMT -6. Ahora son las 00:42.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.