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

CS0117: 'SqlServer_Connection' no contiene una definición para 'SQL_Update'

Estas en el tema de CS0117: 'SqlServer_Connection' no contiene una definición para 'SQL_Update' en el foro de .NET en Foros del Web. Hola a to2, Estoy realizando una aplicacion con asp.net : Dentro del directorio App_Code tengo un fichero llamado conexion.cs que contiene lo siguiente : @import ...
  #1 (permalink)  
Antiguo 29/06/2009, 13:11
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
CS0117: 'SqlServer_Connection' no contiene una definición para 'SQL_Update'

Hola a to2,
Estoy realizando una aplicacion con asp.net :
Dentro del directorio App_Code tengo un fichero llamado
conexion.cs que contiene lo siguiente :


Código conexion.cs:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Data.SqlClient;
  6. using System.Configuration;
  7. using System.Data;
  8. using System.Web.UI;
  9.  
  10. /// <summary>
  11. /// Descripción breve de conexion
  12. /// </summary>
  13. public class SqlServer_Connection
  14. {
  15. private static SqlConnection conn = null;
  16. public static SqlDataReader Reader = null;
  17.  
  18. public static ConnectionState Estado
  19. {
  20. get
  21. {
  22. if (conn == null)
  23. return ConnectionState.Broken;
  24. else
  25. return conn.State;
  26. }
  27. }
  28.  
  29.  
  30. public SqlServer_Connection()
  31. {
  32. //
  33. // TODO: Agregar aquí la lógica del constructor
  34. //
  35. SqlConnection conn;
  36. string ConnStr = ConfigurationManager.ConnectionStrings["xxxxxx"].ToString();
  37. conn = new SqlConnection(ConnStr);
  38.  
  39. try
  40. {
  41. conn.Open();
  42. }
  43. catch { throw new Exception("Error al conectar a la base de datos de Sql Server"); }
  44. }
  45.  
  46.  
  47. private static void Conectar()
  48. {
  49. string ConnStr = ConfigurationManager.ConnectionStrings["xxxxxx"].ToString();
  50. conn = new SqlConnection(ConnStr);
  51.  
  52. try
  53. {
  54. conn.Open();
  55. }
  56. catch { throw new Exception("Error al conectar a la base de datos de Sql Server"); }
  57. }
  58.  
  59.  
  60.  
  61.  
  62.  
  63. public static SqlDataReader SQL_Select(string sql)
  64. {
  65. if (Estado != ConnectionState.Open)
  66. {
  67. Conectar();
  68. if (Estado != ConnectionState.Open)
  69. return null;
  70. }
  71.  
  72. SqlCommand cmd = new SqlCommand(sql, conn);
  73. //SqlDataReader Reader = null;
  74. try
  75. {
  76. Reader.Dispose();
  77. Reader.Close();
  78. }
  79. catch { }
  80.  
  81. Reader = null;
  82. try
  83. {
  84. Reader = cmd.ExecuteReader();
  85. }
  86. catch { }
  87.  
  88. cmd.Dispose();
  89. return Reader;
  90. }
  91.  
  92.  
  93.  
  94. public static int SQL_Update(string sql)
  95. {
  96. try
  97. {
  98. if (Estado != ConnectionState.Open)
  99. {
  100. Conectar();
  101. if (Estado != ConnectionState.Open)
  102. return -1;
  103. }
  104.  
  105. try
  106. {
  107. Reader.Dispose();
  108. Reader.Close();
  109. }
  110. catch { }
  111.  
  112. Reader = null;
  113.  
  114. SqlCommand cmd = new SqlCommand(sql, conn);
  115.  
  116. int regafectados = cmd.ExecuteNonQuery();
  117. cmd.Dispose();
  118.  
  119. return regafectados;
  120. }
  121.  
  122. catch
  123. {
  124. return -1;
  125. }
  126. }
  127.  
  128.  
  129. }

luego en mi fichero
actualizar.cs tengo lo siguiente :


Código actualizar.cs:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9.  
  10. public partial class datosDitca_centros_pruebaActualiza : System.Web.UI.Page
  11. {
  12. protected void Page_Load(object sender, EventArgs e)
  13. {
  14. string SQL1 = "update from xxx where id=1";
  15. int nada = SqlServer_Connection.SQL_Update(SQL1);
  16.  
  17. }
  18. }
Y obtengo el siguiente error :

CS0117: 'SqlServer_Connection' no contiene una definición para 'SQL_Update'

Alguien podria ayudarme a que se debe este error ??

Gracias
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 29/06/2009, 16:14
 
Fecha de Ingreso: junio-2009
Mensajes: 47
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: CS0117: 'SqlServer_Connection' no contiene una definición para 'SQL_Update

Cada vez que el compilador detecta algún error en uno de los fuentes a compilar genera un mensaje informando de ello en el que indica en qué fichero de código fuente y en qué posición exacta del mismo (línea y columna) lo ha detectado. Por ejemplo, si en la columna 3 de la línea 7 de un fuente llamado ej.cs se llama a un método con nombre completo A.K() inexistente, se mostrará un mensaje como:

ej.cs(7,3): error CS0117: 'A' does not contain a definition for 'K'

Nótese que del fichero sólo se da su nombre y ello podría no identificarlo unívocamente si se compilaron a la vez varios con el mismo nombre pero pertencientes a directorios diferentes. Para solucionar esto puede usarse la opción /fullpaths, con lo que de los mensajes de error incluirían siempre la ruta completa de los ficheros defectuosos. Por ejemplo, si el fichero del ejemplo anterior se encontraba en C:\Ejemplo, al compilarlo con esta opción se mostraría el mensaje de error así:

C:\Ejemplo\ej.cs(7,3): error CS0117: 'A' does not contain a definition for 'K'

Hay veces que el compilador detecta que se han escrito en el fuente ciertas secciones de tal manera que sin ser erróneas son cuanto menos sospechosas (ya sea por ser absurdas, por prestarse a confusión, etc), y en esos casos lo que hace es emitir mensajes de aviso. Por ejemplo, si en la definición del tipo A del fuente prueba.cs se hubiese incluido:

static void Main(int x)
{}

En principio es una definición de método perfectamente válida. Sin embargo, como se parece mucho a una definición de punto de entrada pero no es válida como tal, el compilador generará el mensaje de aviso que sigue para informar de ello al usuario por si acaso éste lo que quería hacer era definir un punto de entrada y se equivocó:

prueba.cs(7,14): warning CS0028: 'A.Main(int)' has the wrong signature to be an entry point

Como se ve, la estructura de los mensajes de aviso es muy similar a la de los mensajes de error y sólo se diferencia de ésta en que incluye warning en vez de error tras el indicador de posición en el fuente. Incluso como a estos, la opción /fullpaths también les afecta y provoca que se muestren las rutas de los fuentes al completo.

Una diferencia importante entre avisos y errores es que la aparición de mensajes de los segundos durante la compilación aborta la generación del binario, mientras que la aparición de los primeros no (aunque en ambos casos nunca se aborta la compilación sino que tras mostrarlos se sigue analizando los fuentes por si pudiesen detectarse más errores y avisos) Ahora bien, también puede forzarse a que ello ocurra con los de aviso pasando al compilador el flag /warnaserror, con lo que se conseguiría que todo mensaje de aviso se muestrase como error. Ello puede resultar útil porque fuerza a escribir los fuentes de la manera más fiable e inteligentemente posible.

En el laod opuesto, puede que haya ciertos tipos de mensajes de aviso de los que no se desea siquiera que se informe en tanto que la información que aportan ya se conoce y se sabe que no afectará negativamente al programa. En esos casos puede usarse la opción /nowarn indicando como valores suyos los códigos asociados a los mensaje de aviso que no se desea que se reporten. El código asociado a cada tipo de mensaje de aviso se es la palabra de la forma CS<código> que se muestra tras warning en el mensaje de aviso. Así, para compilar el prueba.cs del ejemplo anterior sin que se genere el mensaje de aviso arriba mostrado puede hacerse:

csc prueba.cs /nowarn:0028

En realidad los ceros incluidos a la izquierda del código del aviso en los mensajes de aviso son opcionales, por lo que la compilación anterior es equivalente a:

csc prueba.cs /nowarn:28

Si desea obtener la lista completa de todos los tipos de mensaje de aviso y error con sus respectivos códigos puede consultar dentro de la documentación del .NET Framework SDK en Visual Studio.NET -> Visual Basic and Visual C# -> Visual C# Language -> C# Compiler Options -> Compiler Errors CS0001 to CS9999
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 12:16.