Foros del Web » Programando para Internet » ASPX (.net) »

...... textbox

Estas en el tema de ...... textbox en el foro de ASPX (.net) en Foros del Web. hola!!!!! mi problema es que quiero que cuando el usuario de clic en un botn llamado actualizar se haga una consulta pero el problema es ...
  #1 (permalink)  
Antiguo 03/11/2005, 14:17
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
...... textbox

hola!!!!!
mi problema es que quiero que cuando el usuario de clic en un botn llamado actualizar se haga una consulta pero el problema es que la consulta es a tres tablas basicamente asi:
CREATE PROCEDURE spConsAct (@docidentidad varchar(30)) AS
SELECT TipoDocumento.nombredoc, InfPersonal.docidentidad,
InfPersonal.nombrescompletos, InfPersonal.primerapellido, InfPersonal.segundoapellido,
InfPersonal.direccion, InfPersonal.telefono, InfPersonal.mail, InfPersonal.fechanac,
InfPersonal.estadocivil, InfPersonal.sexo, InfPersonal.barrio, InfPersonal.fax,
InfPersonal.celular, Historico.fechaincon, Historico.fechafincon
FROM TipoDocumento INNER JOIN InfPersonal ON
TipoDocumento.idtipodoc = InfPersonal.idtipodoc INNER JOIN Historico ON
InfPersonal.docidentidad = Historico.docidentidad
where InfPersonal.docidentidad=@docidentidad
y en el programa quiero que con esta consulta que se hace a esa tres tablas me valla llevando los datos a varios textbox pero no se como hacer para que en la parte del fill como llamo las tablas???? además de que me dice que los textbox no tienen una propiedad datasource entonces como se supone que debo llevar los datos????
SqlDataAdapter DAAct = new SqlDataAdapter("spConsAct", cadenaConexion);
DataSet DSAct = new DataSet();
DAAct.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter("@docidentidad", SqlDbType.VarChar,30);
parameter.Value= TBIdentidad.Text;
DAAct.SelectCommand.Parameters.Add(parameter);
DAAct.Fill(DSAct, "TipoDocumento"); TbTipDoc.DataSource = DSAct.Tables["TipoDocumento"].DefaultView;
Las partes que estan a color son las que no se como llamar las tres tablas o que
quien me pueda ayudar se lo agradeceria
  #2 (permalink)  
Antiguo 03/11/2005, 14:46
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
los textbox no se utilizan para desplegar datasets...

lo que puedes hacer es cargar el dataset...al momento de presionar actualizar...


ahora si quieres proporcionar la vista de varios clientes... podrias por ejemplo llenar la propiedad text de los textbox con cada uno de las columnas del dataset y proporcionar botones por ejemplo para hacer las operaciones de avanzar y retroceder el registro que se esta visualizando...

aunque yo creo que lo mas sencillo seria utilizar un grid... ahi si le puedes asignar la propiedad datasource....


ademas la consulta que estas haciendo no te devuelve tres tablas sino una sola...ya que las estas uniendo con el inner join...


un saludo
  #3 (permalink)  
Antiguo 04/11/2005, 08:20
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
leer dataset

hola!!!!
se supone que mi consulta devuelve una sola tabla pero como puedo accecer a esa tabla y llevar las columnas del dataset a los textbox yo lo intente asi:
TbTipDoc.Text= "nombredoc";
pero no me sale lo que se supone hay en la columna sino que me sale en el textbox nombredoc a pesar de que cree un sqldataadapter para cada tabla y los lleve al dataset pero no se si lo que esta mal es que la consulta que tengo no me permite crear con esa misma consulta los 3 sqldataadapter o para cada sqldataadapter debo crear una consulta diferente es decir los tengo los 3 con el mismo procedimietno que mostre en el mensaje anterior....
asi:
SqlDataAdapter DaActInf;
SqlDataAdapter DaActTiDoc;
SqlDataAdapter DaActHis;
DataSet DSAct = new DataSet();
DaActTiDoc = new SqlDataAdapter("spConsAct", cadenaConexion);
DaActTiDoc.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter("@docidentidad", SqlDbType.VarChar,30);
String doc1=System.Convert.ToString(TBIdentidad.Text);
parameter.Value= doc1;
DaActTiDoc.SelectCommand.Parameters.Add(parameter) ;
DaActTiDoc.Fill(DSAct, "TipoDocumento");
DaActInf = new SqlDataAdapter("spConsAct", cadenaConexion);
DaActInf.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameter1 = new SqlParameter("@docidentidad", SqlDbType.VarChar,30);
String doc2=System.Convert.ToString(TBIdentidad.Text);
parameter1.Value= doc2;
DaActInf.SelectCommand.Parameters.Add(parameter1);
DaActInf.Fill(DSAct, "InfPersonal");
DaActHis = new SqlDataAdapter("spConsAct", cadenaConexion);
DaActHis.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameter2 = new SqlParameter("@docidentidad", SqlDbType.VarChar,30);
String doc3=System.Convert.ToString(TBIdentidad.Text);
parameter2.Value= doc3;
DaActHis.SelectCommand.Parameters.Add(parameter2);
DaActHis.Fill(DSAct, "Historico");
si se supoen que con eso estan las 3 tablas en el dataset como una sola porque la consulta esta hecha con inner join como debo entrar a esa tabla y tomar las columnas que necesito que enrealidad son todas y llevarlas a los textbox correspondientes????
si me puedes ayudar con esto te lo agradezco
  #4 (permalink)  
Antiguo 04/11/2005, 10:45
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
caray brother... son muchas cosas...

primero...


esto es una cadena -> "nombredoc"
y es precisamente lo que te muestra el textbox... ya que en ningun lado haces referencia al dataset...

cosa diferente seria asi -> DSAct.Tables(0).rows(0)("nombredoc").ToString();

te recomiendo que te documentes acerca de como referenciar elementos en un dataset.

adicional...

cuando llamas a un stored procedure te regresa exactamente lo que ves en el query analizer, si son varias tablas te devuelve varias tablas. por lo que seria bueno que ejecutes en el query analizer de sql el sp para que veas cual es la salida que te regresa y asi puedas acceder a la (s) tabla (s) que se carga en el dataset.


echale una buena leida a la siguiente info, espero te sirva...

http://msdn.microsoft.com/library/sp...FormsPages.asp
  #5 (permalink)  
Antiguo 04/11/2005, 12:43
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
kejos, procura utilizar el editor del foro de manera adecuada, haz que los mensajes y el código sean legibles, me sorprende que alguien se haya animado a responder con tanto desorden.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 07/11/2005, 10:10
 
Fecha de Ingreso: febrero-2005
Mensajes: 125
Antigüedad: 19 años, 2 meses
Puntos: 0
poner los codigo entre etiquetas php ...! es facil php entre corchetes de inicio y otra de fin con un /php entre corchetes tambien
entoces quedara asi
Código PHP:
CREATE PROCEDURE spConsAct (@docidentidad varchar(30)) AS
SELECT TipoDocumento.nombredocInfPersonal.docidentidad,
InfPersonal.nombrescompletosInfPersonal.primerapellidoInfPersonal.segundoapellido,
InfPersonal.direccionInfPersonal.telefonoInfPersonal.mailInfPersonal.fechanac,
InfPersonal.estadocivilInfPersonal.sexoInfPersonal.barrioInfPersonal.fax,
InfPersonal.celularHistorico.fechainconHistorico.fechafincon
FROM TipoDocumento INNER JOIN InfPersonal ON
TipoDocumento
.idtipodoc InfPersonal.idtipodoc INNER JOIN Historico ON
InfPersonal
.docidentidad Historico.docidentidad
where InfPersonal
.docidentidad=@docidentidad


SqlDataAdapter DAAct 
= new SqlDataAdapter("spConsAct"cadenaConexion);
DataSet DSAct = new DataSet();
DAAct.SelectCommand.CommandType CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter("@docidentidad"SqlDbType.VarChar,30);
parameter.ValueTBIdentidad.Text;
DAAct.SelectCommand.Parameters.Add(parameter);
DAAct.Fill(DSAct"TipoDocumento"); TbTipDoc.DataSource DSAct.Tables["TipoDocumento"].DefaultView
  #7 (permalink)  
Antiguo 07/11/2005, 10:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 125
Antigüedad: 19 años, 2 meses
Puntos: 0
Código PHP:
SqlDataAdapter DaActInf;
SqlDataAdapter DaActTiDoc;
SqlDataAdapter DaActHis;
DataSet DSAct = new DataSet();
DaActTiDoc = new SqlDataAdapter("spConsAct"cadenaConexion);
DaActTiDoc.SelectCommand.CommandType CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter("@docidentidad"SqlDbType.VarChar,30);
String doc1=System.Convert.ToString(TBIdentidad.Text);
parameter.Valuedoc1;
DaActTiDoc.SelectCommand.Parameters.Add(parameter) ;
DaActTiDoc.Fill(DSAct"TipoDocumento");
DaActInf = new SqlDataAdapter("spConsAct"cadenaConexion);
DaActInf.SelectCommand.CommandType CommandType.StoredProcedure;
SqlParameter parameter1 = new SqlParameter("@docidentidad"SqlDbType.VarChar,30);
String doc2=System.Convert.ToString(TBIdentidad.Text);
parameter1.Valuedoc2;
DaActInf.SelectCommand.Parameters.Add(parameter1);
DaActInf.Fill(DSAct"InfPersonal");
DaActHis = new SqlDataAdapter("spConsAct"cadenaConexion);
DaActHis.SelectCommand.CommandType CommandType.StoredProcedure;
SqlParameter parameter2 = new SqlParameter("@docidentidad"SqlDbType.VarChar,30);
String doc3=System.Convert.ToString(TBIdentidad.Text);
parameter2.Valuedoc3;
DaActHis.SelectCommand.Parameters.Add(parameter2);
DaActHis.Fill(DSAct"Historico"); 
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 04:18.