none
Generar secuencia de insercion en la bd RRS feed

  • Pregunta

  • Hola buenas, querria saber si se puede generar al pulsar un boton, una secuencia para que me ingrese en la bd, 100 veces el mismo texo, pero insertandome en el texto del 1 al 100, a cada texto que ingresa,

    ejemplo:

    private void guardaranuncio_Click(object sender, EventArgs e)
        {
          try
          {
            MySqlConnection myConnection = new MySqlConnection(conexion);
            string myInsertQuery = "INSERT INTO Anuncios (Anuncio, idCliente,Nombre) Values(?Anuncio,?idCliente,?Nombre);";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
            myCommand.Parameters.Add("?Anuncio", MySqlDbType.VarChar, 45).Value = textdescripcion.Text;
            myCommand.Parameters.Add("?Nombre", MySqlDbType.VarChar, 45).Value = textnombre.Text;
            myCommand.Parameters.Add("?idCliente", MySqlDbType.VarChar, 45).Value = Idcliente.Text;
    
            myCommand.Connection = myConnection;
            myConnection.Open();
            myCommand.ExecuteNonQuery();
    
            MessageBox.Show("Anuncio Guardado con éxito");
          }
          catch
          {
            MessageBox.Show("Error al insertar el anuncio, intentelo de nuevo");
          }
    


    aqui ingreso un texto, al clicar, ene el texto pone una descripcion, y el titulo otra, seria que insertase poniendome en el titulo un 1 y en la descripcion otro uno, y asi correlativamente hasta 100.

    hay alguna manera de hacer esto?, ayuda pliss

    un saludo muchas gracias


    Christian
    sábado, 27 de agosto de 2011 23:12

Respuestas

  • Hola,

    Algo así te puede servir.

     

    MySqlConnection myConnection = new MySqlConnection(conexion);
      string myInsertQuery = "INSERT INTO Anuncios (Anuncio, idCliente,Nombre) Values(?Anuncio,?idCliente,?Nombre);";
      
      
      myConnection.Open();
      for int i =0;i<100;i++)
      {
       indice = i+1;
       MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
       myCommand.Connection = myConnection;
       myCommand.Parameters.Add("?Anuncio", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}",textdescripcion.Text,indice);
       myCommand.Parameters.Add("?Nombre", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}" textnombre..Text,indice)
    myCommand.Parameters.Add("?idCliente", MySqlDbType.VarChar, 45).Value = Idcliente.Text; myCommand.ExecuteNonQuery(); }

     

    Saludos,

     

     


    phurtado
    domingo, 28 de agosto de 2011 0:10
    Moderador

Todas las respuestas

  • Hola,

    Algo así te puede servir.

     

    MySqlConnection myConnection = new MySqlConnection(conexion);
      string myInsertQuery = "INSERT INTO Anuncios (Anuncio, idCliente,Nombre) Values(?Anuncio,?idCliente,?Nombre);";
      
      
      myConnection.Open();
      for int i =0;i<100;i++)
      {
       indice = i+1;
       MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
       myCommand.Connection = myConnection;
       myCommand.Parameters.Add("?Anuncio", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}",textdescripcion.Text,indice);
       myCommand.Parameters.Add("?Nombre", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}" textnombre..Text,indice)
    myCommand.Parameters.Add("?idCliente", MySqlDbType.VarChar, 45).Value = Idcliente.Text; myCommand.ExecuteNonQuery(); }

     

    Saludos,

     

     


    phurtado
    domingo, 28 de agosto de 2011 0:10
    Moderador
  • adapto un poco el ejemplo que bridado por Pedro para incorporar algunos detalles y algo que me gusta usar en estos caso como es el Parameters.Clear(), asi no hay que reconstruir el command en cada ciclo sino definir la lista de parametros unicamente

     

     

    using(MySqlConnection myConnection = new MySqlConnection(conexion))
    {
    	myConnection.Open();
    
    	string myInsertQuery = "INSERT INTO Anuncios (Anuncio, idCliente,Nombre) Values(?Anuncio,?idCliente,?Nombre);"; 
    	MySqlCommand myCommand = new MySqlCommand(myInsertQuery, myConnection);
    
    	for(int i=1;i<=100;i++)
    	{
    		myCommand.Parameters.Clear();
    		
    		myCommand.Parameters.Add("?Anuncio", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}",textdescripcion.Text,i);
    		myCommand.Parameters.Add("?Nombre", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}" textnombre..Text,i)
    		myCommand.Parameters.Add("?idCliente", MySqlDbType.VarChar, 45).Value = Idcliente.Text;
    		myCommand.ExecuteNonQuery();
    	}
    }
    


     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 28 de agosto de 2011 3:41
  • Hola mirar quedo asi funcionando, para el que le pueda servir, muchas gracias a los dos

     

     try
          {
            MySqlConnection myConnection = new MySqlConnection(conexion);
            string myInsertQuery = "INSERT INTO Anuncios (Anuncio, idCliente,Nombre) Values(?Anuncio,?idCliente,?Nombre);";
     
     
             myConnection.Open();
             for (int i =0;i<100;i++)
            {
              int indice = i+1;
              MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
              myCommand.Connection = myConnection;
              myCommand.Parameters.Add("?Anuncio", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}",textdescripcion.Text,indice);
              myCommand.Parameters.Add("?Nombre", MySqlDbType.VarChar, 45).Value = string.Format("{0} {1}", textnombre.Text, indice);
              myCommand.Parameters.Add("?idCliente", MySqlDbType.VarChar, 45).Value = Idcliente.Text;
              myCommand.ExecuteNonQuery();
             }
    
    
          }
          catch
          {
    
          }
    
    un saludo


    Christian
    domingo, 28 de agosto de 2011 12:06
  • pero no necesitas la variable "indice" podrias hacerlo directo con el "i" del for, iniciandolo en 1 y recorriendo hasta <=

    y despues si bien parece similar porque recrear un objeto command en cada ciclo, si solo cambian los parametros

    mueve el myConnection al constructor no necetias asignarlo a la propiedad

    son tres punto que haran mas vistoso el codigo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 28 de agosto de 2011 13:56