PDA

View Full Version : مشکل با کریستال و دیتا



bastakboys
پنج شنبه 05 شهریور 1388, 22:31 عصر
دوستان من با کد زیر یک جدول را در دیتا گرید می ریزم که خیلی سریع این کار انجام می شود



ol_cnf = New OleDbConnection(er)
ol_cnf.Open()

ol_cmf = New OleDbCommand("select * from Khorak", ol_cnf)
ol_daf = New OleDbDataAdapter(ol_cmf)
dsf = New DataSet
ol_daf.Fill(dsf, "Khorak")
DGVK.DataSource = dsf.Tables("Khorak")

ol_cmf = New OleDbCommand("select IDK from Khorak order by IDK desc", ol_cnf)
drf = ol_cmf.ExecuteReader
drf.Read()
ol_cnf.Close()

وقتی میخواهم از این جدول یک گزارش بگیرم با کد پایین:


Try



ol_cnf = New OleDbConnection(er)
ol_cnf.Open()

ol_cmf = New OleDbCommand("select * from Khorak", ol_cnf)
ol_daf = New OleDbDataAdapter(ol_cmf)
dsf = New DataSet
ol_daf.Fill(dsf, "Khorak")

CRkhorak1.SetDataSource(dsf.Tables("Khorak"))
CrRep.ReportSource = CRkhorak1
Catch ex As Exception

End Try


زمان این کار خیلی زیاد است یعنی حدود 10 ثانیه طول می کشد چرا؟

viper2009
پنج شنبه 05 شهریور 1388, 22:43 عصر
دوستان من با کد زیر یک جدول را در دیتا گرید می ریزم که خیلی سریع این کار انجام می شود



ol_cnf = New OleDbConnection(er)
ol_cnf.Open()

ol_cmf = New OleDbCommand("select * from Khorak", ol_cnf)
ol_daf = New OleDbDataAdapter(ol_cmf)
dsf = New DataSet
ol_daf.Fill(dsf, "Khorak")
DGVK.DataSource = dsf.Tables("Khorak")

ol_cmf = New OleDbCommand("select IDK from Khorak order by IDK desc", ol_cnf)
drf = ol_cmf.ExecuteReader
drf.Read()
ol_cnf.Close()

وقتی میخواهم از این جدول یک گزارش بگیرم با کد پایین:


Try



ol_cnf = New OleDbConnection(er)
ol_cnf.Open()

ol_cmf = New OleDbCommand("select * from Khorak", ol_cnf)
ol_daf = New OleDbDataAdapter(ol_cmf)
dsf = New DataSet
ol_daf.Fill(dsf, "Khorak")

CRkhorak1.SetDataSource(dsf.Tables("Khorak"))
CrRep.ReportSource = CRkhorak1
Catch ex As Exception

End Try


زمان این کار خیلی زیاد است یعنی حدود 10 ثانیه طول می کشد چرا؟

آقا من هم همین مشکل و دارم و فکر می کنم اصولاً کریستال در موقع لود خیلی طول می ده و بستگی به تعداد رکورد هم داره.

viper2009
پنج شنبه 05 شهریور 1388, 22:51 عصر
آقا من هم همین مشکل و دارم و فکر می کنم اصولاً کریستال در موقع لود خیلی طول می ده و بستگی به تعداد رکورد هم داره.

و ضمناً می تونی این طوری کانکشن بدی. و فیلتر کنی بهتره


ol_daf = New OleDbDataAdapter("select * from Khorak Where .....", ConnectionString)
dsf = New DataSet
ol_daf.Fill(dsf, "Khorak")


CRkhorak1.SetDataSource(dsf(
CrRep.CrystalReport1.ReportSource = CRkhorak1
CrRep.Show