Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/09/2005, 16:05
yoltik
 
Fecha de Ingreso: octubre-2004
Mensajes: 142
Antigüedad: 20 años, 4 meses
Puntos: 0
Ok, algunas cosas se que no estan bien pero es la desesperacion la que me ha hecho hacerle de todo
el codigo c#

private void dgMesEmpleado_SelectedIndexChanged(object sender, System.EventArgs e)
{
btnSumaMes.Visible=true;
btnRestaMes.Visible=true;
lblMesElige.Visible=true;
dbManager dbm=new dbManager();
string Asist="exec getFechaInicioFin '"
+ lblFecha.Text +"',"
+ dgMesEmpleado.SelectedItem.Cells[0].Text.ToString(); dbm.FillDataGrid(Asist,dgSemana,"tblSemanaAsistenc ia");
lblAsist.Text=dbm.GetScalar(Asist);
string Ret="exec getAsistenciaCuentaRetardoSemana "
+ lblFecha.Text +","
+ dgMesEmpleado.SelectedItem.Cells[0].Text.ToString();
blRet.Text=dbm.GetScalar(Ret);
int Falta=Convert.ToInt32(6-(Convert.ToInt32(lblAsist.Text)
+Convert.ToInt32(lblRet.Text)));
lblFalta.Text=Convert.ToString(Falta);
dgSemana.Visible=true;
string ini=dbm.Table("tblSemanaAsistencia").Rows[0]["inicio"].ToString();
string fin=dbm.Table("tblSemanaAsistencia").Rows[0]["final"].ToString();
ini=DateTime.Parse(ini).ToString("yyyyMMdd");
fin=DateTime.Parse(fin).ToString("yyyyMMdd");
string getQueryString="exec getAsistenciaCuentaAsisSemana '"
+ini+"','"
+fin+"',"
+dgMesEmpleado.SelectedItem.Cells[0].Text.ToString();
string i=dbm.GetScalar(getQueryString);
dbm.FillDataGrid(getQueryString,dg1,"tblConteo");
}
Este codigo estaba resumido pero es el que estoy usando para las pruebas, ahora el sp general y el especifico

sp General:


ALTER procedure getAsistenciaSemana

@idFechas char(10),
@rfc char(13)

AS
DECLARE @inicio int
DECLARE @fin int
DECLARE @fini datetime
DECLARE @ffin datetime
DECLARE @dia int
declare @asis int
declare @ret int
declare @falta int
declare @idFecha datetime

SET DATEFIRST 7
SET dateformat YMD

/*select @idfecha=CONVERT(VARCHAR(10), @idfechas)*/

select @dia=( SELECT DATEPART(dw,@idfechas) )/*AS DiaSemana*/
SELECT @inicio=(@dia-1)*-1
SELECT @fin=7-@dia
IF @inicio=0
SELECT @fini=@idFechas
ELSE
SELECT @fini=DATEADD(dd,@inicio,@idFechas)
IF @ffin=0
SELECT @ffin=@idFechas
ELSE
SELECT @ffin=DATEADD(dd,@fin,@idFechas)

select @ret=(select count(atiempo) from vasistencias where atiempo=0 and rfc =@rfc)
select @asis=(select count(atiempo) from vasistencias where atiempo=1 and rfc =@rfc)
select @falta=(Select 6-(@ret+@asis))
Select @asis as Asistencias ,@ret as Retardos,@falta as Faltas

update asissemana
set asistencias=@asis,retardo=@ret, falta=@falta

Select * from asissemana

RETURN

el sp especifico


ALTER procedure getAsistenciaCuentaAsisSemana

@fini char(10),
@ffin char(10),
@rfc char(13)

AS

SET dateformat YMD


declare @asis int

select @asis=(select count(atiempo) from vasistencias where atiempo=1 and rfc =@rfc AND idfecha>=@fini and idfecha<=@ffin )
select @asis as asistencias
update asissemana
set asistencias=@asis
Select * from asissemana

RETURN


Espero me puedan ayudar, ya estoy desesperado!!!!