| ||||
uhmm bueno no te entendi, puedes explicar otra vez por favor ![]() Claro no se como pasarle eso al formulario y que lo asi por cada registro visualiizado en el grid. Oye cuate y muchas gracias por todo ![]() |
| ||||
Yo lo haría (bueno y lo hago así), en el hyperlink, además que te lleve a la página del formulario, le pasas un parámetro que sea el identificador del registro de la base de datos, y luego en el page_load del formulario, accedes a ese parámetro, y haces una nueva consulta a la BD para traerte los datos de dicho registro y rellenas los textbox. |
| ||||
Hola Jose, gracias por responder, yo hago el hyperlink asi <asp:HyperLinkColumn HeaderText="Editar" DataTextField="SolicitudID" DataNavigateUrlFormatString="Webform1.aspx?Solicit udID={0}" DataNavigateUrlField="SolicitudID"></asp:HyperLinkColumn> Donde solicitudID es id unico de cada registro Cuando me dices que le de un parametro puede ser este el campo SolicitudID? Gracias de antemano |
| ||||
Hola Sayra, si tu campo SolicitudID es el campo principal de tu tabla, es decir es el que hace al registro diferente de los demás, entonces si debería ser el parámetro que mandes por URL, y luego como ya te dijo Jose_minglein2, haces una nueva consulta a la base de datos. Saludos... |
| ||||
Hola gracias a todos por las respuestas, pero tengo una duda con la consulta yo pense y asi lo hice, pero que va la cosa no me funciono hacer asi la consulta pero pongo el codigo para que me digan cuan equivocada estoy Sub Page_Load(Sender As Object, E As EventArgs) Dim DS As DataSet Dim MyCommand As SqlCommand Dim SelectCmd As String = "Select (Cargo_Solicitado, Apellidos_Nombres, Nacionalidad, Cedula_Identidad, Fecha_Nacimiento, Estado_Civil, Edad, Profesion, Sexo, Telefono_Cel, Telefono_Hab, Correo_Electronico, Direccion_Permanente, Tecnico_Instituto, Tecnico_Graduado, Tecnico_Ano_Graduacion, Tecnico_Titulo, Universitario_Instituto, Universitario_Graduado, Universitario_Ano_Graduacion, Universitario_Titulo, PostGrado_Instituto, PostGrado_Graduado, PostGrado_Ano_Graduacion, PostGrado_Titulo, Empleado_Actualmente, Empresa, Cargo, Desde, Hasta) values (@Cargo_Solicitado, @Apellidos_Nombres, @Nacionalidad, @Cedula_Identidad, @Fecha_Nacimiento, @Estado_Civil, @Edad ,@Profesion, @Sexo, @Telefono_Cel, @Telefono_Hab, @Correo_Electronico, @Direccion_Permanente, @Tecnico_Instituto, @Tecnico_Graduado, @Tecnico_Ano_Graduacion, @Tecnico_Titulo, @Universitario_Instituto, @Universitario_Graduado, @Universitario_Ano_Graduacion, @Universitario_Titulo, @PostGrado_Instituto, @PostGrado_Graduado, @PostGrado_Ano_Graduacion, @PostGrado_Titulo, @Empleado_Actualmente, @Empresa, @Cargo, @Desde, @Hasta) from SolicitudEmpleo where SolicitudID=@SolicitudID" MyCommand = New SqlCommand(SelectCmd, PortalSettings.SqlConnectionString) MyCommand.Parameters.Get(New SqlParameter("@Cargo_Solicitado", SqlDbType.Char, 100)) MyCommand.Parameters("@Cargo_Solicitado").Value = TextBox5.Text MyCommand.Parameters.Get(New SqlParameter("@Apellidos_Nombres", SqlDbType.Char, 40)) MyCommand.Parameters("@Apellidos_Nombres").Value = TextBox1.Text MyCommand.Parameters.Get(New SqlParameter("@Nacionalidad", SqlDbType.Decimal, 9)) MyCommand.Parameters("@Nacionalidad").Value =TextBox11.Text MyCommand.Parameters.Get(New SqlParameter("@Cedula_Identidad", SqlDbType.Decimal, 9)) MyCommand.Parameters("@Cedula_Identidad").Value =TextBox2.Text MyCommand.Parameters.Get(New SqlParameter("@Fecha_Nacimiento", SqlDbType.Char, 8)) MyCommand.Parameters("@Fecha_Nacimiento").Value = TextBox3.Text MyCommand.Parameters.Get(New SqlParameter("@Estado_Civil", SqlDbType.Char, 12)) MyCommand.Parameters("@Estado_Civil").Value = TextBox12.Text MyCommand.Parameters.Get(New SqlParameter("@Edad", SqlDbType.Decimal, 9)) MyCommand.Parameters("@Edad").Value = TextBox4.Text MyCommand.Parameters.Get(New SqlParameter("@Profesion", SqlDbType.Char, 30)) MyCommand.Parameters("@Profesion").Value = TextBox15.Text MyCommand.Parameters.Get(New SqlParameter("@Sexo", SqlDbType.Char, 20)) MyCommand.Parameters("@Sexo").Value = TextBox14.Text MyCommand.Parameters.Get(New SqlParameter("@Telefono_Cel", SqlDbType.NChar, 20)) MyCommand.Parameters("@Telefono_Cel").Value =TextBox6.Text & TextBox7.Text MyCommand.Parameters.Get(New SqlParameter("@Telefono_Hab", SqlDbType.NChar, 20)) MyCommand.Parameters("@Telefono_Hab").Value =TextBox8.Text & TextBox8.Text MyCommand.Parameters.Get(New SqlParameter("@Correo_Electronico", SqlDbType.Char, 50)) MyCommand.Parameters("@Correo_Electronico").Value = TextBox10.Text MyCommand.Parameters.Get(New SqlParameter("@Direccion_Permanente", SqlDbType.Char, 50)) MyCommand.Parameters("@Direccion_Permanente").Valu e = Textbox20.Text MyCommand.Parameters.Get(New SqlParameter("@Tecnico_Instituto", SqlDbType.Char, 40)) MyCommand.Parameters("@Tecnico_Instituto").Value = TextBox17.Text MyCommand.Parameters.Get(New SqlParameter("@Tecnico_Graduado", SqlDbType.Char, 10)) MyCommand.Parameters("@Tecnico_Graduado").Value = TextBox19.Text MyCommand.Parameters.Get(New SqlParameter("@Tecnico_Ano_Graduacion", SqlDbType.Char, 8)) MyCommand.Parameters("@Tecnico_Ano_Graduacion").Va lue = TextBox13.Text MyCommand.Parameters.Get(New SqlParameter("@Tecnico_Titulo", SqlDbType.Char, 40)) MyCommand.Parameters("@Tecnico_Titulo").Value = TextBox29.Text MyCommand.Parameters.Get(New SqlParameter("@Universitario_Instituto", SqlDbType.Char, 40)) MyCommand.Parameters("@Universitario_Instituto").V alue = TextBox30.Text MyCommand.Parameters.Get(New SqlParameter("@Universitario_Graduado", SqlDbType.Char, 10)) MyCommand.Parameters("@Universitario_Graduado").Va lue = TextBox33.Text MyCommand.Parameters.Get(New SqlParameter("@Universitario_Ano_Graduacion", SqlDbType.Char, 8)) MyCommand.Parameters("@Universitario_Ano_Graduacio n").Value = TextBox16.Text MyCommand.Parameters.Get(New SqlParameter("@Universitario_Titulo", SqlDbType.Char, 40)) MyCommand.Parameters("@Universitario_Titulo").Valu e = TextBox32.Text MyCommand.Connection.Open() MyCommand.Parameters.Get(New SqlParameter("@PostGrado_Instituto", SqlDbType.Char, 40)) MyCommand.Parameters("@PostGrado_Instituto").Value = TextBox31.Text MyCommand.Parameters.Get(New SqlParameter("@PostGrado_Graduado", SqlDbType.Char, 10)) MyCommand.Parameters("@PostGrado_Graduado").Value = TextBox34.Text MyCommand.Parameters.Get(New SqlParameter("@PostGrado_Ano_Graduacion", SqlDbType.Char, 8)) MyCommand.Parameters("@PostGrado_Ano_Graduacion"). Value = TextBox18.Text MyCommand.Parameters.Get(New SqlParameter("@PostGrado_Titulo", SqlDbType.Char, 40)) MyCommand.Parameters("@PostGrado_Titulo").Value = TextBox35.Text MyCommand.Parameters.Get(New SqlParameter("@Empleado_Actualmente", SqlDbType.Char, 40)) MyCommand.Parameters("@Empleado_Actualmente").Valu e = TextBox36 MyCommand.Parameters.Get(New SqlParameter("@Empresa", SqlDbType.Char, 40)) MyCommand.Parameters("@Empresa").Value = TextBox21.Text & TextBox22.Text MyCommand.Parameters.Get(New SqlParameter("@Cargo", SqlDbType.Char, 40)) MyCommand.Parameters("@Cargo").Value = TextBox25.Text & TextBox24.Text MyCommand.Parameters.Get(New SqlParameter("@Desde", SqlDbType.Char, 8)) MyCommand.Parameters("@Desde").Value = TextBox23.Text & TextBox26.Text MyCommand.Parameters.Get(New SqlParameter("@Hasta", SqlDbType.Char, 8)) MyCommand.Parameters("@Hasta").Value = TextBox27.Text & TextBox28.Text MyCommand.ExecuteNonQuery() MyCommand.Connection.Close() End Sub Yo pense que usando Get traia los datos del registro y lo que hacia era que se lo pasaba a los textbox pero no es asi, y no se que hacer ![]() Gracias de antemano |
| ||||
Hola Para obtener los datos tienes que ejecutar tu consulta usando el comando, este te regresa el resulset del cual vas a tomar los datos, puedes usar un dataset o un datareader para obtener los valores y ponerlo en tu forma. Saludos Última edición por splinter; 22/03/2005 a las 09:08 |
| ||||
Chicos mil perdones, pero tengo dos grandes lagunas mentales ![]() 1.- No entiendo como voy acceder al parametro SolicitudID, en el page load 2.- y No entiendo como voy indicar que campo va con cual texbox Mil perdones, pero no entiendo Gracias por todo |
| ||||
Así es como te dice splinter, no deberías tener problemas, yo haría algo así: Dim MyCommand As SqlCommand Dim SelectCmd As String = Select (Cargo_Solicitado, Apellidos_Nombres, Nacionalidad, Cedula_Identidad, Fecha_Nacimiento, Estado_Civil, Edad, Profesion, Sexo, Telefono_Cel, Telefono_Hab, Correo_Electronico, Direccion_Permanente, Tecnico_Instituto, Tecnico_Graduado, Tecnico_Ano_Graduacion, Tecnico_Titulo, Universitario_Instituto, Universitario_Graduado, Universitario_Ano_Graduacion, Universitario_Titulo, PostGrado_Instituto, PostGrado_Graduado, PostGrado_Ano_Graduacion, PostGrado_Titulo, Empleado_Actualmente, Empresa, Cargo, Desde, Hasta from SolicitudEmpleo where SolicitudID=" & request.querystring("SolicitudID") MyCommand = New SqlCommand(SelectCmd, PortalSettings.SqlConnectionString) dim dr as sqldatareader = new sqldatareader dr = mycommand.executereader() while dr.read textbox1.text = convert.tostring(dr("Cargo_Solicitado")) .... end while dr.close |
| ||||
Muchas gracias lo estba provando y me di cuenta de una cosa y me error otra 1.- Me di cuenta que por el ejemplo el campo telefono_Cel esta compuesto por el codigo de area y el numero telefono, y en formulario tengo que ponerlo en textbox6=codigo de area y en textbox7 el numero telefonico (Como puedo separarlo asi cuando viene de la tabla juntos) 2.- cuando estaba haciendo la corrido me dio este error : BC30390: No se puede tener acceso a 'System.Data.SqlClient.SqlDataReader.Private Sub New(command As System.Data.SqlClient.SqlCommand)' en este contexto debido a que es 'Private'. Line 23: dim dr as sqldatareader = new sqldatareader donde o como modifico eso. Gracias de antemano por todo |
| ||||
Bien, con respecto a tu primera pregunta, la cosa es chunga, la única forma, que se me ocurre de momento, sería si el codigo del area tiene una cantidad de cifras fijas o en cambio es el número telefónico el que tiene esta cantidad fija, si no es así será chungo poder descomponerlo. Con respecto a la segunda, perdona, es culpa mía, no debes crear el objeto, se crea automáticamente en la asignación, quedaría así: dim dr as sqldatareader dr = mycommand.executereader() |
| ||||
Bueno, el codigo de area puede ser 3 o 4 digitos mientras que el numero telefonico puede ser de 7 digitos unicamente, pero hay otros que estan con el mismo problema que no no vamos a poder determinar cual fijo porque son campos de texto por ejmplo el campo empresa tiene asociado dos textbox, aligual que el campo cargo y las fechas de inico en cargo y fin en cargo Por otro la agregue la correcion sugerida y me muestra el formulario, pero vacio ![]() <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System" %> <%@ Page language="VB" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Rainbow.DesktopModules.AdminFSE.WebForm1 1" %> <%@ Import Namespace="Rainbow.Configuration" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm1</title> <script language=VB runat="server"> Sub Page_Load(Sender As Object, E As EventArgs) Dim MyCommand As SqlCommand Dim SelectCmd As String = "Select (Cargo_Solicitado, Apellidos_Nombres, Nacionalidad, Cedula_Identidad, Fecha_Nacimiento, Estado_Civil, Edad, Profesion, Sexo, Telefono_Cel, Telefono_Hab, Correo_Electronico, Direccion_Permanente, Tecnico_Instituto, Tecnico_Graduado, Tecnico_Ano_Graduacion, Tecnico_Titulo, Universitario_Instituto, Universitario_Graduado, Universitario_Ano_Graduacion, Universitario_Titulo, PostGrado_Instituto, PostGrado_Graduado, PostGrado_Ano_Graduacion, PostGrado_Titulo, Empleado_Actualmente, Empresa, Cargo, Desde, Hasta from SolicitudEmpleo where SolicitudID=" & request.querystring("SolicitudID") MyCommand = New SqlCommand(SelectCmd, PortalSettings.SqlConnectionString) dim dr as sqldatareader dr = mycommand.executereader() while dr.read TextBox5.text = convert.tostring(dr("Cargo_Solicitado")) TextBox1.text = convert.tostring(dr("Apellidos_Nombres")) TextBox11.text = convert.tostring(dr("Nacionalidad")) TextBox2.text = convert.tostring(dr("Cedula_Identidad")) TextBox3.text = convert.tostring(dr("Fecha_Nacimiento")) TextBox12.text = convert.tostring(dr("Estado_Civil")) TextBox4.text = convert.tostring(dr("Edad")) TextBox14.text = convert.tostring(dr("Sexo")) TextBox15.text = convert.tostring(dr("Profesion")) 'TextBox6.text = convert.tostring(dr("Telefono_Cel")) TextBox7.text = convert.tostring(dr("Telefono_Cel")) 'TextBox8.text = convert.tostring(dr("Telefono_Hab")) TEXTBOX9.text = convert.tostring(dr("Telefono_Hab")) TextBox10.text = convert.tostring(dr("Correo_Electronico")) TextBox20.text = convert.tostring(dr("Direccion_Permanente")) TextBox17.text = convert.tostring(dr("Tecnico_Instituto")) TextBox19.text = convert.tostring(dr("Tecnico_Graduado")) TextBox13.text = convert.tostring(dr("Tecnico_Ano_Graduacion")) TextBox29.text = convert.tostring(dr("Tecnico_Titulo")) TextBox30.text = convert.tostring(dr("Universitario_Instituto")) TextBox33.text = convert.tostring(dr("Universitario_Graduado")) TextBox16.text = convert.tostring(dr("Universitario_Ano_Graduacion" )) TextBox32.text = convert.tostring(dr("Universitario_Titulo")) TextBox31.text = convert.tostring(dr("PostGrado_Instituto")) TextBox34.text = convert.tostring(dr("PostGrado_Graduado")) TextBox18.text = convert.tostring(dr("PostGrado_Ano_Graduacion")) TextBox35.text = convert.tostring(dr("PostGrado_Titulo")) TextBox36.text = convert.tostring(dr("Empleado_Actualmente")) TextBox21.text = convert.tostring(dr("Empresa")) 'TextBox22.text = convert.tostring(dr("Empresa")) TextBox25.text = convert.tostring(dr("Cargo")) 'TextBox24.text = convert.tostring(dr("Cargo")) TextBox23.text = convert.tostring(dr("Desde")) 'TextBox26.text = convert.tostring(dr("Desde")) TextBox25.text = convert.tostring(dr("Hasta")) 'TextBox24.text = convert.tostring(dr("Hasta")) end while dr.close End Sub </script> </HEAD> <body> <form> formas del formulario </form> </body> </html> |
| ||||
Pos te cuento que no se conectaba a si que le puse un MyCommand.Connection.Open() Dim dr As sqldatareader dr = mycommand.executereader While dr.read TextBox5.Text = convert.tostring(dr("Cargo_Solicitado")) ... End While dr.close MyCommand.Connection.Close() End Sub pero ahora me da un error que tengo rato viendo y no consigo reparar System.Data.SqlClient.SqlException: Línea 1: sintaxis incorrecta cerca de ','. Line 19: dr = mycommand.executereader |
| ||||
Pues se los quite (Los parentesis claro), luego lo corri y me genera un nuevo error Exception Details: System.Data.SqlClient.SqlException: Línea 1: sintaxis incorrecta cerca de '='. Line 19: dr = mycommand.executereader le quite el signo + y lo sustitui & y de igual forma da el mismo error es decir asi da el error Dim SelectCmd As String = "Select Cargo_Solicitado ... Hasta from SolicitudEmpleo where SolicitudID=" & request.querystring("SolicitudID") asi tambien Dim SelectCmd As String = "Select Cargo_Solicitado ... Hasta from SolicitudEmpleo where SolicitudID=" + request.querystring("SolicitudID") Que crees que sea |
| ||||
Estas segura que request.querystring("SolicitudID") obtiene un valor, porque de no ser asi, tu cadena estaria truncada, revisa el URL y checate si estas pasando bien el parametro SolicitudID Tambien puedes hacer una prueba colocando un valor para SolicitudID (que exista) y ejecutando tu consulta, ejemplo: Dim SelectCmd As String = "SELECT Cargo_Solicitado ... Hasta FROM SolicitudEmpleo WHERE SolicitudID=123456" Última edición por splinter; 22/03/2005 a las 14:16 |
| ||||
Bueno el parametro que estoy pasando, lo puse asi <asp:HyperLinkColumn HeaderText="Editar" DataTextField="SolicitudID" DataNavigateUrlFormatString="Webform1.aspx?Solicit udID={0}" DataNavigateUrlField="SolicitudID"></asp:HyperLinkColumn> Hice la prueba que me sugeriste y funciona muestra todos los campos que tiene el registro con la informacion ![]() |
| ||||
Quita el parentesis de después del select, es decir Select Cargo_Solicitado... o por el contrario cierralo antes del from ...Hasta) from SolicitudEmpleo Si sigue sin devolverte nada, comprueba con un breakpoint que Request.QueryString("SolicitudId"), tiene algún valor. Además, eso yo lo haría antes de realizar la consulta, y también comprobaría que es numérico, ya que si escriben la dirección directamente, sin pasar por el hyperlink anterior, saltaría un error, es decir, si alguien escribe en la barra de dirección: Webform1.aspx?SolicitudID=aaa o Webform1.aspx dará un error, no se si me entiendes. Volviendo a lo de partir los campos, si el tlf, tiene siempre 7 dígitos lo puedes dividir así (por ejemplo): dim tlf as string = Convert.toString(dr("Telefono_Cel")).SubString(Con vert.toString(dr("Telefono_Cel")).Lenght - 7) dim codigoarea as string = Convert.toString(dr("Telefono_Cel")).SubString(0,C onvert.toString(dr("Telefono_Cel")).Lenght-7) y tendras en tlf los 7 últimos dígitos y en codigoarea todos, menos los 7 últimos. Para los demás sería algo parecido, habría que mirar que condiciones cumplen y todo eso. Pero la verdad, es que, es un error de análisis en la base de datos, xq en mi opinión,deberían ir separados Bueno prueba, esto y nos cuentas |
| ||||
Bueno le cuento que ya muestra para todos los enlaces, muchas gracias por la ayuda Jose voy a someter a prueba lo de la telefono y te cuento esta bien? Y muchos gracias a los dos por la tremenda asistencia que me han otorgado ![]() |