Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


ayuda con procedimientos almacenados con parametros

Foro sobre el nuevo lenguaje C# conocido tambien como CSharp o C Numeral

Moderador: Bestprogramado

ayuda con procedimientos almacenados con parametros

Notapor xabidh el Mar Mar 11, 2008 10:51 am

Antes que nada quiero poner un ejemplo de un boton que si funciona para que veais la configuracion:

//este codigo recupera el nombre del usuario y lo mete en un texbox
(sin utilizar procedimientos almacenados)
string s="Data Source=desktop\\SQLEXPRESS;Initial Catalog=Prueba;Integrated Security=True;";

SqlConnection c=new SqlConnection(s);
c.Open();
SqlCommand com = new SqlCommand("Select * from Table1", c);
SqlDataReader dr = com.ExecuteReader();
dr.Read();
textBox1.Text = dr["usuario"].ToString();


ahora quiero insertar un fila en mi bd que esta en desktop\SQLEXPRESS\Prueba.dbo PERO con procedimientos almacenados.
La tabla donde quiero insertar es Table1 y tiene las columnas: usuario, contraseña y dni todas nvarchar(10).
Los datos a insertar los tengo que recoger de los textbox ( tbusuario, ,tbdni y tbcontraseña)

y el codigo del procedimiento almacenado es :
ALTER PROCEDURE dbo.Insertar
(
@usuario nvarchar(10),
@contraseña nvarchar(10),
@dni nvarchar(10)
)
AS

SET NOCOUNT ON

INSERT INTO Table1
(usuario, contraseña, dni)
VALUES (@usuario,@contraseña,@dni)



como seria el codigo?? algo asi? :

string source = "Data Source=desktop\\SQLEXPRESS;Initial Catalog=Prueba;Integrated Security=True;";

SqlConnection conn = new SqlConnection(source);
conn.Open();
SqlCommand cmd = new
SqlCommand("Insertar", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@usuario", SqlDbType.NVarChar));
cmd.Parameters.Add(new SqlParameter("@contraseña", SqlDbType.NVarChar));
cmd.Parameters.Add(new SqlParameter("@dni", SqlDbType.NVarChar));
cmd.UpdatedRowSource = UpdateRowSource.None;
cmd.Parameters[0].Value = "cris";
cmd.Parameters[1].Value = "1234";
cmd.Parameters[0].Value = "12345678z";
cmd.ExecuteNonQuery();
xabidh
Novato
Novato
 
Mensajes: 5
Registrado: Mar Oct 16, 2007 4:19 pm

Re: ayuda con procedimientos almacenados con parametros

Notapor Bestprogramado el Mié Mar 12, 2008 9:40 am

Que error te da??

Tal vez sea porque no le diste "direccion" a los parametros (no especificaste si son de entrada o de salida), y tambien debes poner el valor de la cantidad de los VarChar (Size)
Imagen
Imagen
Programar es jugar a ser Dios!!
Avatar de Usuario
Bestprogramado
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 118
Registrado: Mar May 31, 2005 1:44 pm
Ubicación: Buenos Aires

Re: ayuda con procedimientos almacenados con parametros

Notapor Mafesa83 el Vie May 09, 2008 8:26 pm

Yo utilizo Oracle en el Visual Studio y uso muchos Store Procedures y funciones y la verdad se me hacen muy tedioso escribir demasiado cuando solo puedes ejecutar una cadena de texto, mira un ejemplo:

Código: Seleccionar todo
       try
                    {
                        MyConexion.Open();
                        MyCommand.CommandText = "CALL PROC1('" + TextBox1.Text.ToString() + "','" + TextBox2.Text.ToString()+"' )";
                        MyCommand.ExecuteNonQuery();
                        MessageBox.Show("El Dato se Guardo correctamente","Encabezado",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message, "Encabezado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    finally
                    {
                        MyConexion.Close();
                    }



De esta forma utilizo los procedimientos en Oracle, y me funciona y solo usando cadenas y tienes que tener cuidado los parametros y algunas comillas que se te pasen, pero en lo que respecta al funcionamiento no hay problema.
Mafesa Creations
Lic. Mauricio Felipe Sanchez Feria
Avatar de Usuario
Mafesa83
Usuario Activo
Usuario Activo
 
Mensajes: 49
Registrado: Lun Mar 26, 2007 2:12 pm
Ubicación: Tabasco-Mexico


Volver a C# (CSharp)

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados