本文介绍了寻找失踪的人,由日期范围和人员类型C#和访问权限决定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
OleDbConnection connection = MSAConnection.getConnection();
OleDbDataAdapter adapter = new OleDbDataAdapter();
string query = @"SELECT * FROM Persona
WHERE NOT EXISTS
(SELECT * FROM MarcacionesAsistencia
WHERE (MarcacionesAsistencia.codPersona = Persona.codPersona)
AND (MarcacionesAsistencia.tipoPersona = @tipo ))
AND(MarcacionesAsistencia.fecha >= @desde)
AND(MarcacionesAsistencia.fecha <= @hasta);";
OleDbCommand command = new OleDbCommand(query, connection);
command.Parameters.AddWithValue("@tipo", "Docente");
command.Parameters.AddWithValue("@desde", dateTimePickerDesde.Value);
command.Parameters.AddWithValue("@hasta", dateTimePickerHasta.Value);
adapter.SelectCommand = command;
DataSetReporteFalta falta = new DataSetReporteFalta();
falta.Clear();
adapter.Fill(falta, "DTReporteFalta");
dataGridView1.DataSource = falta;
dataGridView1.DataMember = "DTReporteFalta";
我的尝试:
What I have tried:
AND (MarcacionesAsistencia.tipoPersona Like @tipo ))
AND(MarcacionesAsistencia.fecha >= @desde)
AND(MarcacionesAsistencia.fecha <= @hasta);";
推荐答案
private void getFaltas()
{
string dateString = dateTimePickerFalta.Value.ToString("yyyy/MM/dd");
adapter.SelectCommand = new OleDbCommand
("select p.codPersona, p.tipoPersona, p.nombreCompleto, p.grado, p.paralelo from Persona p where not exists(select ma.codPersona from MarcacionesAsistencia ma where ma.codPersona = p.codPersona and ma.fecha = # " + dateString + " #)", connection);
dataset.Clear();
adapter.Fill(dataset, "DTFaltas");
dataGridView1.DataSource = dataset;
dataGridView1.DataMember = "DTFaltas";
dataGridView1.Refresh();
reportViewerFaltas.Clear();
reportViewerFaltas.RefreshReport();
}
这篇关于寻找失踪的人,由日期范围和人员类型C#和访问权限决定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!