Hola de Nuevo a la gran familia de este foro, amigos, yo tengo un programa en el cual realizo una consulta a una base de datos en SQL 2000, esta se realiza para consultar un rango entre dos fechas y los valores se muestran en un reporte con quickreport, el rango de fecha es seleccionado por el usuario de dos DateTimePicker, ahora mientras el usuario entre intervalos existentes en la tabla esto funciona de maravillas, ahora si selccionado un intervalo que no existe, me da un error diciendo que no puede realizar esa operacion con un Dataset ya abierto..... aqui les pongo el codigo para ver en que me pueden ayudar....
Muchas gracias por su tiempo
Código:
[IMG]file:///C:/DOCUME%7E1/JOCEYR%7E1/CONFIG%7E1/Temp/moz-screenshot.jpg[/IMG]procedure TFormfechas.Button1Click(Sender: TObject);
var dia1, dia2 : Tdatetime;
temp : String;
begin
dia1 := DateTimePicker1.Date;
dia2 := DateTimePicker2.Date;
if formtipo.Radiotiempo.Checked then // solo para consultar por fechas}
begin
with formrefechas do
begin
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=SQLOLEDB.1;Password=H4E7FH3;Persist Security Info=True;User ID=center;Initial Catalog=CE;Data Source=jocey';
DataSetrepofechas.ConnectionString := CadenaConexion;
DataSetrepofechas.CommandText := 'select * from principal WHERE principal.Fecha_Inicio Between ''' + DatetoStr(dia1) + ''' And ''' + DatetoStr(dia2) + '''';
DataSetrepofechas.Open;
if DataSetrepofechas.RecordCount = 0 then
begin
ShowMessage('No Existen Valores para que mostrar en su busqueda');
end
else
begin
try
textcurso.Caption := DataSetrepofechas.fieldbyname('Nombre_Curso').value;
textlugar.Caption := DataSetrepofechas.fieldbyname('Lugar_Ejecucion').value;
textcliente.Caption := DataSetrepofechas.fieldbyname('Cliente').value;
textcontrato.Caption := DataSetrepofechas.fieldbyname('No_Contrato').value;
textfecha.Caption := DataSetrepofechas.fieldbyname('Fecha_Inicio').value;
textestado.Caption := DataSetrepofechas.fieldbyname('Estado_Curso').value;
textdias.Caption := DataSetrepofechas.fieldbyname('dias').value;
textcosto.Caption := DataSetrepofechas.fieldbyname('costo').value;
textmes.Caption := DataSetrepofechas.fieldbyname('Mesfact').value;
textano.Caption := DataSetrepofechas.fieldbyname('Anofact').value;
finally
formrefechas.QuickRep1.Preview;
DataSetrepofechas.Last;
DataSetrepofechas.Close;
end;
end;
end;
end;