Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - amjrey617

#1
Hola, apenas estoy aprendiendo programar, pero en un proyecto me exigen crear una interfaz que se conecte a una base relacional, empece por un proyecto pequeño que si logra añadir datos con una sola tabla pero con 2 o mas no me sale ¿cual podría ser mi error?:

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace WindowsFormsApplication1
{
   public partial class Form1 : Form
   {
       MySqlDataAdapter adaptador;
       MySqlCommandBuilder comando;

       DataTable dt;
       DataRow dr;

       String cadenaConexion = @"Server = localHost; database = pruebasvb; User id=Alex; password = 1234";  
       public Form1()
       {
           InitializeComponent();
       }
       

       private void button1_Click(object sender, EventArgs e)
       {

//Mis dos tablas se llaman alumnos y  materias
           String consulta = @"SELECT * FROM alumnos, materias";
           adaptador = new MySqlDataAdapter(consulta, cadenaConexion);
           comando = new MySqlCommandBuilder(adaptador);

           dt = new DataTable();

           adaptador.Fill(dt);

           dr = dt.NewRow();

           dr["nombre"] = txtnombre.Text;
           dr["edad"] = txtedad.Text;

           
           dr["ingles"] = txtingles.Text;
           dr["español"] = txtespañol.Text;
           dr["matematicas"] = txtmatematicas.Text;

           dt.Rows.Add(dr);

         
           adaptador.Update(dt);

       }
   }
}

Y describiendo mi base de datos es muy simple, son solo dos tablas, todos los campos no admiten valores nulos y la fk esta en la tabla de materias, con relación no identificada de 1:n. Espero y me puedan ayudar,saludos.




[MOD]: Utiliza el botón para insertar código.
#2
Cita de: Gh057 en  3 Marzo 2014, 04:53 AM
hola amjrey617, la mejor forma de ayudarte es la siguiente:

- borras los 3 programas (copiados vaya a saber de donde, ya que presentan arreglos y no sabes    utilizar una sentencia de ingreso de datos... es el segundo programa que se hace luego del tan querido "hola mundo"...).
- te descargas el primer manual de C que encuentres (yo empecé con el de K y R)
- lo lees, practicas los ejercicios
- hazlos tu luego.
- si tienes dudas posteas, pero seguramente, será por otro tema.

éxitos!

Gracias, estudiare. Saludos
#3
Cita de: leosansan en  3 Marzo 2014, 08:40 AM
Mantengo lo dicho por Gh057 en su totalidad.

Pero claro, ¿a lo mejor es que te sientes inseguro de usar las ¡instrucciones printf y scanf ?.

Por si este fuera tu caso te propongo una solución al primer ejercicio, los demás te tocan a ti.

Sólo  destacar un detalle, main, que es lo que en C se llama una función, es por cuestiones del estándar de C una función de tipo int (entero) y requiere que se termine retornando un entero (return 0, por ejemplo):


Código (cpp) [Seleccionar]

#include <conio.h>
#include <stdio.h>
#define MAX 10

int main()
{
  int vector[MAX]={0};
  int i=0;
  float suma=0.0,media;
  while(i<MAX){
    printf ("\nIntroduzca la componente %d: ",i+1);
    scanf ("%d",&vector[i]);
    suma+=vector[i++];
  }
  media=suma/MAX;
  printf("\nLa media es %g\n",media);
  getch();
  return 0;
}


Y para cuando postees el código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices.

Y ahorita a estudiar un poco los printf y scanf. Cuando tengas algo de código de tu propia cosecha lo cuelgas, planteas tus dudas y seguro que habrá quien te ayude. ¡¡¡Ánimo!!!.


¡¡¡¡ Saluditos! ..... !!!!


Me ha servido de mucha ayuda, de este ejemplo me guiare y tratare de no mecanizar, si no de aprender. Había intentando hacerlo con  lógicas muy alejadas de ser las correctas. Y si tienen razón, estudiare mas para que mis dudas sean otras. Muchas gracias y saludos :D.
#4
Hola soy nuevo en c y necesito de su ayuda para modificar estos programas, de manera que sea el usuario que ingrese los datos por teclado (con un prinft que diga "dame los datos" o algo así), pero tratar de modificar lo menos posible la estructura (while, for, etc)
El primero es:
#define MAX 10
#include <conio.h>
#include <stdio.h>

main()
{
int vector[MAX]={1,7,50,23,25,42,19,17,35,9}...
int i=0,suma=0,media;
while(i<MAX) suma=suma + vector[i++];
media=suma/MAX;
printf("%d",media);
getch();
}

El segundo es:

#include <stdio.h>
#include <conio.h>
#define MAX 10
#define ELEMENTO 'a'

main ()
{
char vector[MAX]={'D','O','W','H','I','L','E'...
int i=0, frec=0;
do

if(vector[i++]==ELEMENTO) frec++;
while(i<MAX);
printf("%s",vector);
getch();
}

el tercero:

#include <stdio.h>
#include <conio.h>

#define TAM 10

main()
{
float a[TAM]={-10.0,-8.0,-6.5,4.3,4.0,3.0,2.0,...
float b[TAM]={-2.3,-4.9,3.0,0.9,1.0,3.5,-1.3,0...
int i;
for(i=0; i<TAM;i++){ c=a + b;
printf("%fl\n",c);
}
getch();
}

Espero y me puedan ayudar, les estaría agradecido, un saludo.