Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2005, 11:42
Avatar de nsmsndie
nsmsndie
 
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Error con la conexion a la base de datos

Tengo en mi proyecto ASP.NET mediante C#, una clase llamada sql.cs que realiza todas las conexiones y consultas a la base de datos. Explico lo que hay dentro, tengo un conectionString donde digo la ubicación de la base de datos, luego un OleDbConnection conexion y el constructor SQL. Además tengo cuatro metodos llamados:ObtenerDatos, InsetaRegistro, ActualizaRegistro, EliminaRegistro. Los tres ultimos métodos me dan error en "comando.ExecuteNonQuery();" y se me van al catch. Os pongo el código:

Código PHP:
public class SQL
    
{
        private 
OleDbConnection  conexion;
        
//Cambiar cnd la BD cambie de sitio
        
private string  conectionString="Provider=Microsoft.Jet.OLEDB.4.0;" +
            
"Data Source=C:\\Inetpub\\wwwroot\\Web\\DB" 
            
"\\colegio.mdb;Persist Security Info=False";


        public 
SQL ()
        {
            
this.conexion = new OleDbConnection(conectionString);
        }        
        

        
/// <summary>
        /// Obtiene los datos de una tabla con un filtro especifico
        /// </summary>
        /// <param name="tabla">Tabla de la que obtener los datos</param>
        /// <param name="filtro">Filtro con el Where si hay condiciones o con orderby</param>
        /// <returns></returns>
        
public DataTable ObtenerDatos(string tablastring filtro)
        {
            
this.conexion.Open();
            
string consulta "SELECT * FROM "+tabla +" "filtro;
            
OleDbDataAdapter dataadapte""= new OleDbDataAdapter(consultathis.conexion);
            
DataSet dataset = new DataSet();
            
dataadapter.Fill(datasettabla);
            
this.conexion.Close();
            return 
dataset.Tables[0];
        }



        public 
void InsetaRegistro(string tablastring titulostring descripcionstring rutaImagen,int idioma)
        {
            
            
string consulta "INSERT INTO "+tabla+" (titulo,descripcion,idioma,foto) ";
            
consulta += "  VALUES ("+"'"+titulo+"','"+descripcion+"',"+idioma+",'"+rutaImagen+"')";

            
OleDbCommand comando= new OleDbCommand(consulta,this.conexion);
            try
            {
                
conexion.Open();
                
comando.ExecuteNonQuery();
                
conexion.Close();
            }
            catch(
Exception e
            {
                
System.Diagnostics.Debug.Write(e);
                
conexion.Close();
                return;
            }
        }


        public 
void ActualizaRegistro(string tablaint id,string titulostring descripcionstring rutaDocumento)
        {
            
//UPDATE class_name SET member_value_list WHERE search_condition

            
string consulta "UPDATE "+tabla+" SET titulo='"+titulo+"', descripcion='"+descripcion+"', documento='"+rutaDocumento+"'  " ;
            
consulta += " WHERE id = "+id;

            
OleDbCommand comando= new OleDbCommand(consulta,this.conexion);
            try
            {
                
conexion.Open();
                
comando.ExecuteNonQuery();
                
conexion.Close();
            }
            catch(
Exception e
            {
                
System.Diagnostics.Debug.Write(e);
                
conexion.Close();
                return;
            }

            
        }


        public 
void EliminaRegistro(string tablaint id)
        {
            
//DELETE [FROM] class_name WHERE search_condition
            
string consulta "DELETE FROM "+tabla;
            
consulta += " WHERE id="+id;

            
OleDbCommand comando= new OleDbCommand(consulta,this.conexion);
            try
            {
                
conexion.Open();
                
comando.ExecuteNonQuery();
                
conexion.Close();
            }
            catch(
Exception e
            {
                
System.Diagnostics.Debug.Write(e);
                
conexion.Close();
                return;
            }
        }
       }


Y ahora como los llamo, pero solo un ejemplo, los demás los llamo igual dentro de unos controles de usuario web:
Código PHP:
sql.ActualizaRegistro(this.tabla,this.ID,this.txtTitulo.Text,this.txtDescripcion.Text,rutaDocumento); 
Por favor, me estoy volviendo loca buscando porque falla, al principio pensaba que era algo de permisos, pero no he conseguido avanzar nada.

Gracias.