Foros del Web » Programación para mayores de 30 ;) » .NET »

Error con la conexion a la base de datos

Estas en el tema de Error con la conexion a la base de datos en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/08/2005, 11:42
Avatar de nsmsndie  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 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.
  #2 (permalink)  
Antiguo 16/08/2005, 11:50
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Y cuál es el mensaje de error que te manda??
Manda el string que devuelve: e.ToString() dentro del bloque catch
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 16/08/2005, 11:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Podrías colcarnos el mensaje de error que te está arrojando ??

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 19/08/2005, 03:02
Avatar de nsmsndie  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Si perdonar, no me di cuenta que no lo puse... jeje aquí está:
Cita:
La operacion debe de ser una consulta actualizable
Se me ha ocurrido que tiene que ser por narices cosa de permisos, por lo tanto, me aconsejaís que cambie de carpeta la web, estoy utilizando una carpeta en la ruta: C:\Inetpub\wwwroot\Web

Cambiaríais¿?¿? de sitio los archivos.
  #5 (permalink)  
Antiguo 31/08/2005, 14:11
Avatar de nsmsndie  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Perdonarme la ida de cabeza, resultó cosa de permisos, exactamente permisos sobre el archivo mdb de la base de datos, y no sobre las carpetas... cosas de MS.Access

gracias por todo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.