CLR: .Net / Mono / Boo / Otros CLR > C#
Consultas sql en C#
Laxair:
Holaaaaaaaaaaaaaaaaaaaaaaaaaaaaa alfin encontre lo que estaba mal gracias Chenech por la paciencia y la ayuda.
El error estaba en las comillas de :
--- Código: ---string consultaSQL = "SELECT Legajo FROM Personal WHERE Legajo = " + txtLegajo.Text + "";
--- Fin del código ---
no llevaba comillas simples.
chenech:
Vaya, bueno por lo menos funcionó.
Un saludo.
Laxair:
Tengo otra duda, ahora lo que quiero hacer es insertar datos desde los windows form a la bd tengo el siguiente codigo hasta ahora :
--- 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+ "" ;
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.ExecuteNonQuery();
}
catch (Exception excepcion)
{
Console.Write(excepcion.Message);
Console.ReadLine();
}
conn.Close();
}
}
}
}
--- Fin del código ---
Seguramente hay algún error en la consulta.
Ah y otra cosa si tengo mas de una tabla en la bd es necesario poner el nombre del archivo (Personal) y la tabla a usar? por ejemplo Personal.InasistenciasJefatura.
chenech:
aquí tienes un ejemplo de como lo hacía yo pasando los parámetros a la sentencia SQL, no debes ejecutar el Open() este es para consultas SELECT que devuelven resultado, para UPDATE e INSERT es con ExecuteNonQuery.
--- Código: --- sbQuery = new StringBuilder("");
sbQuery.Append("INSERT INTO Inventario VALUES(@PAlmacen, @PFecha, @PArticulo, @PUnidades)");
cmd.CommandText = sbQuery.ToString();
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@PAlmacen", tbAlmacen.Text);
cmd.Parameters.AddWithValue("@PFecha", dtFecha.Value.Date);
cmd.Parameters.AddWithValue("@PArticulo", tbArticulo.Text);
cmd.Parameters.AddWithValue("@PUnidades", dUnidades);
cmd.Connection = conn;
cmd.ExecuteNonQuery();
--- Fin del código ---
Laxair:
PAlmacen , PFecha , etc esos que son? son las columnas de la base de datos?
Y lo del Open(), no es que lo tengo que hacer siempre porque es para abrir la conexión?
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa