CLR: .Net / Mono / Boo / Otros CLR > C#
Consultas sql en C#
chenech:
Perdón, si, el Open hay que hacerlo, estaba confundido.
@PAlmacen es el parámetro a pasar y tbAlmacen.Text es el valor del dato en el form.
En el INSERT no pongo los datos de la base de datos por que se los paso igual que están en la BD, podría ser así también:
sbQuery.Append("INSERT INTO Inventario (Almacen, Fecha, Articulo, Unidades) VALUES(@PAlmacen, @PFecha, @PArticulo, @PUnidades)");
También vale como lo has puesto tu, a mi me gusta más por parámetros para hacer mas legible el código:
string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo,Estado,Fecha,Cargo,Turno,Aviso) VALUES " + txtLeg.Text + ""+ txtEstado.Items + "" + txtFecha.Text +""+ Cargo.Items + ""+ txtTurno.Text + "" + txtAviso.Text+ "" ;
string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo, Estado, Fecha, Cargo, Turno, Aviso) VALUES (@Legajo, @Estado, @Fecha, @Cargo, @Turno, @Aviso)";
Ahí tienes ejemplos de datos alfanuméricos, fecha y numérico.
Laxair:
Lo puse de la siguiente forma:
--- Código: ---private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =\"C:\\Users\\AsusB85M-G\\Desktop\\Personal.accdb\"";
OleDbCommand cmd;
//string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo,Estado,Fecha,Cargo,Turno,Aviso) VALUES " + txtLeg.Text + ""+ txtEstado.Items + "" + txtFecha.Text +""+ Cargo.Items + ""+ txtTurno.Text + "" + txtAviso.Text+ "" ;
string consultaSQL = "INSERT INTO Inventario (Legajo, Estado, Fecha, Cargo, Turno, Aviso) VALUES(@Legajo, @Estado, @Fecha, @Cargo, @Turno, @Aviso)";
cmd = new OleDbCommand(consultaSQL, conn);
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@Legajo", txtLeg.Text);
cmd.Parameters.AddWithValue("@Estado", txtEstado.Items);
cmd.Parameters.AddWithValue("@Fecha", txtFecha.Text);
cmd.Parameters.AddWithValue("@Cargo", Cargo.Items);
cmd.Parameters.AddWithValue("@Aviso", txtAviso.Text);
try
{
conn.Open();
}
catch (Exception excepcion)
{
Console.Write(excepcion.Message);
Console.ReadLine();
}
if (conn.State == ConnectionState.Open)
{
try
{
cmd.ExecuteNonQuery();
}
catch (Exception excepcion)
{
Console.Write(excepcion.Message);
Console.ReadLine();
}
conn.Close();
}
--- Fin del código ---
Y no funciona, si en la bd hay varias tablas hay que poner el nombre del archivo .Nombre_de_tabla_a_usar o con solo poner el nombre de la tabla tendría que funcionar?
chenech:
Te puse un ejemplo, cambia la tabla y los campos por los de tu base de datos.
Inventario por InasistenciasJefatura y los campos de tu tabla y pasa los parámetros tuyos.
Laxair:
En el mensaje anterior te puse el código ya había cambiado todo.
EDIT:
--- Código: --- private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =\"C:\\Users\\AsusB85M-G\\Desktop\\Personal.accdb\"";
OleDbCommand cmd;
//string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo,Estado,Fecha,Cargo,Turno,Aviso) VALUES " + txtLeg.Text + ""+ txtEstado.Items + "" + txtFecha.Text +""+ Cargo.Items + ""+ txtTurno.Text + "" + txtAviso.Text+ "" ;
string consultaSQL = "INSERT INTO InasistenciaJefatura (Legajo, Estado, Fecha, Cargo, Turno, Aviso) VALUES (@Legajo, @Estado, @Fecha, @Cargo, @Turno, @Aviso)";
cmd = new OleDbCommand(consultaSQL, conn);
cmd.Connection = conn;
try
{
conn.Open();
}
catch (Exception excepcion)
{
Console.Write(excepcion.Message);
Console.ReadLine();
}
if (conn.State == ConnectionState.Open)
{
try
{
cmd.Parameters.AddWithValue("@Legajo", txtLeg.Text);
cmd.Parameters.AddWithValue("@Estado", txtEstado.Items);
cmd.Parameters.AddWithValue("@Fecha", txtFecha.Text);
cmd.Parameters.AddWithValue("@Cargo", Cargo.Items);
cmd.Parameters.AddWithValue("@Aviso", txtAviso.Text);
cmd.ExecuteNonQuery();
}
catch (Exception excepcion)
{
Console.Write(excepcion.Message);
Console.ReadLine();
}
conn.Close();
}
--- Fin del código ---
chenech:
Pon el código sin los bloques try catch para si te da error ver donde es.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa