PDA

View Full Version : خواندن از sql data reader



ehsan_wwe
چهارشنبه 27 مرداد 1389, 17:33 عصر
سلام بچه ها این کدو ببنید :



ReportDocument Orpt = new ReportDocument();
Orpt.Load(Server.MapPath("~/CrystalReport.rpt"));
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@Owner", DDLOwner.Text);
cmd.CommandText = "SELECT *FROM Assets WHERE Owner=@Owner";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
dr.Read();
Orpt.SetDataSource(dr[indexer].ToString());
}
CrystalReportViewer1.ReportSource = Orpt;
}



تو دستور While به Indexer اررور می ده
سعنس نمس دونم چطور از اسکیوال ریدرم بخونم بریزم تو کریستال ریدرم
نمیدمنم چطور این خظو بنویسم راهنماییم کنید لطفا

salehbagheri
چهارشنبه 27 مرداد 1389, 17:46 عصر
کدتون که در اشکال دچار فراوانی هست!

مثلا در کد زیر، چرا دوبار Dr رو میخونید؟ همون اول در شرط while کافیه!

while (dr.Read())
{
dr.Read(); // Must Delete
Orpt.SetDataSource(dr[indexer].ToString());
}


در ضمن در قسمت DataSource که نباید فقط یک سطر رو قرار بدید! یعنی از indexer نباید استفاده کنید. در کل این روش انتساب اشتباهه ... باید در جایی دیگر (خارج از حلقه) این عمل رو انجام بدید.

ehsan_wwe
چهارشنبه 10 شهریور 1389, 20:48 عصر
اگر 1 مثال برام بزارید ممنون می شم
چون واقعا نمی دونم باید چیکار کنم