[ Foro de C# ]
Hola, soy nuevo en esto de la programacion y estoy haciendo un pequeño proyecto con C# y sql server, y resulta que cuando quiero infresar registros me da un error.. ojala me puedan ayudar... de ante mano muchas gracias :)
SqlConnection MiConexion;
public void Conectar()
{
//la cadena de conexión va a cambiar en sus computadoras...
MiConexion = new SqlConnection("Data Source=JHONNY;Initial Catalog=Cartas;Integrated Security=True");
MiConexion.Open();
}
public void Desconectar()
{
MiConexion.Close();
}
public void EjecutarSql(String Query)
{
SqlCommand MiComando = new SqlCommand(Query, MiConexion);
//ejecutamos la consulta (query) sql...
int FilasAfectadas = MiComando.ExecuteNonQuery();
if (FilasAfectadas > 0)
MessageBox.Show("Operación realizada exitosamente", "la base de datos ha sido modificada", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
MessageBox.Show("No se pudo realizar la modificación de la base de datos :-(", "Error del sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
public void ActualizarGrid(DataGridView dg, String Query)
{
//conectarnos a la base de datos...
this.Conectar();
//crear DataSet
System.Data.DataSet MiDataSet = new System.Data.DataSet();
//Crear Adaptador de datos
SqlDataAdapter MiDataAdapter = new SqlDataAdapter(Query, MiConexion);
//LLenar el DataSet
MiDataAdapter.Fill(MiDataSet, "Cartas");
//Asignarle el valor adecuado a las propiedades del DataGrid
dg.DataSource = MiDataSet;
dg.DataMember = "Cartas";
//nos desconectamos de la base de datos...
this.Desconectar();
Ayudaría saber qué error obtienes y en qué línea, porque un código que no es estrictamente de consola e incluya otras bibliotecas más avanzadas (en tu caso SqlServer) resulta difícil replicarlo en otro equipo...
en esta linea me da el error ...
int FilasAfectadas = MiComando.ExecuteNonQuery();
y me aparece esto ...
Excepción no controlada del tipo 'System.Data.SqlClient.SqlException' en System.Data.dll
Información adicional: Sintaxis incorrecta cerca de 'Especial'.
Falta la comilla de cierre después de la cadena de caracteres ',System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: ,System.Windows.Forms.TextBox, Text: );'.
Si lees el mensaje de error con detalle, verás cual es el problema:
Información adicional: Sintaxis incorrecta cerca de 'Especial'.
Falta la comilla de cierre después de la cadena de caracteres
No aparece tu sentencia SQL en el fragmento de programa que has incluido, pero eso es lo que está mal. Puede ser cualquier cosa parecida a
string orden = "SELECT * FROM personas WHERE categoria = 'Especial";
Como verás, en esa frase no he cerrado una de las comillas.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)