[ Foro de C# ]

Error al agregar registros en C# y sql

09-Jul-2014 04:17
Invitado (Jhonny )
3 Respuestas

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();




09-Jul-2014 17:03
Nacho Cabanes (+84)

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...


09-Jul-2014 23:09
Invitado (jhonny)

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: );'.



10-Jul-2014 19:50
Nacho Cabanes (+84)

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.)