ayuda con procedimientos almacenados con parametros

Moderador: raul338

C#, tambien llamado C Sharp

ayuda con procedimientos almacenados con parametros

Notapor xabidh » Mar Mar 11, 2008 10:52 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: 6
Registrado: Mar Oct 16, 2007 4:19 pm


Re: ayuda con procedimientos almacenados con parametros

Notapor raul338 » 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)
[img]http://i54.tinypic.com/102peue.jpg[/img]
Avatar de Usuario
raul338
Colaborador
Colaborador
 
Mensajes: 132
Registrado: Mar May 31, 2005 1:44 pm
Ubicación: Buenos Aires


Re: ayuda con procedimientos almacenados con parametros

Notapor Mafesa83 » 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
  1.        try

  2.                     {

  3.                         MyConexion.Open();

  4.                         MyCommand.CommandText = "CALL PROC1('" + TextBox1.Text.ToString() + "','" + TextBox2.Text.ToString()+"' )";

  5.                         MyCommand.ExecuteNonQuery();

  6.                         MessageBox.Show("El Dato se Guardo correctamente","Encabezado",MessageBoxButtons.OK,MessageBoxIcon.Information);

  7.                     }

  8.                     catch (Exception exception)

  9.                     {

  10.                         MessageBox.Show(exception.Message, "Encabezado", MessageBoxButtons.OK, MessageBoxIcon.Error);

  11.                     }

  12.                     finally

  13.                     {

  14.                         MyConexion.Close();

  15.                     }

  16.  




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.
Corporativo de Servicios y Sistemas Profesionales
LC. Mauricio Felipe Sanchez Feria
Mafesa83
Usuario Activo
Usuario Activo
 
Mensajes: 61
Registrado: Lun Mar 26, 2007 2:12 pm
Ubicación: Tabasco-Mexico


    

Volver a C#

¿Quién está conectado?

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