PDA

View Full Version : مشکل در نمایش اطلاعات در label



mohsen_namad
چهارشنبه 12 خرداد 1389, 22:01 عصر
من از این کد برای نمایش اطلاعات بانک در label استفاده می کنم ولی از dr ایراد میگیرد .باید چیکار کنم اینم کدمه:


SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|Database.mdf;Integrated Security=true;User Instance=true");
SqlCommand comm= new SqlCommand("select * from tbl1", conn);
SqlDataReader dr =new SqlDataReader() ;
conn.Open();
dr = comm.ExecuteReader();
l1.Text = "<tabel borde=1>";
while (dr.Read())
{
l1.Text += "<tr>";
for (int i = 1; i < dr.FieldCount() - 1; i++)
l1.Text += "<td>" + dr[i].ToString() + "</td>";
l1.Text += "</tr>";
}
l1.Text = "</tabel>";

Vahid_moghaddam
چهارشنبه 12 خرداد 1389, 22:12 عصر
DataReader دارای رکورد هست؟ پیغام خطا چیه؟ قبل از خواندن DataReader چک کنید ببینید دارای رکورد هست یا نه



if (dr.HasRows)
{
//Read DataReader Records
}

mohsen_namad
چهارشنبه 12 خرداد 1389, 22:58 عصر
داخل بانک اطلاعتیم رکورد هست .مشکل وقت اجراست
ینم تصویرش:

Vahid_moghaddam
پنج شنبه 13 خرداد 1389, 09:44 صبح
به این شکل بنویسید (برای اطلاعات بیشتر درباره DataReader به msdn مراجعه کنید):


conn.Open();
SqlDataReader dr =comm.ExecuteReader();

بعد از استفاده از DataReader حتما اون رو Close کنید

mohsen_namad
جمعه 14 خرداد 1389, 00:30 صبح
باز هم خطا میگیره. کسی نمیدونه چطور باید اطلاعات یه tabel رو تو یه label نشون بدم؟

Nightbat
جمعه 14 خرداد 1389, 02:25 صبح
باید بگی چه خطایی می گیره تا بشه کمک کرد !

mohsen_namad
شنبه 15 خرداد 1389, 01:17 صبح
به این شکل بنویسید (برای اطلاعات بیشتر درباره DataReader به msdn مراجعه کنید):


conn.Open();
SqlDataReader dr =comm.ExecuteReader();

بعد از استفاده از DataReader حتما اون رو Close کنید

با این کاری که دوستمون گفتن سایت اجرا میشه ولی وقتی که روی دکمه ای که این کد ها رو توش نوشتم کلیک می کنم از dr باز این ایرادو میگیره:

hamedsabzian
شنبه 15 خرداد 1389, 01:28 صبح
با این کاری که دوستمون گفتن سایت اجرا میشه ولی وقتی که روی دکمه ای که این کد ها رو توش نوشتم کلیک می کنم از dr باز این ایرادو میگیره:

مشکل از Connection هستش.
مطمعنی Open کردی؟

nafasak
شنبه 15 خرداد 1389, 01:35 صبح
با این کاری که دوستمون گفتن سایت اجرا میشه ولی وقتی که روی دکمه ای که این کد ها رو توش نوشتم کلیک می کنم از dr باز این ایرادو میگیره:

دوست عزیز،
خط 26 رو پاک کن
خط 24 و 25 رو جاشونو عوض کن.



conn.open();
SqlDataReader dr =comm.ExecuteReader();

mohsen_namad
پنج شنبه 20 خرداد 1389, 01:50 صبح
آق این کاری که گفتید رو انجام دادم ولی وقتی که رو دکمه مربوطه کلیک می کنم هیچ اتفاقی نمیفته؟(بانک اطلاعاتی من دارای دو فیلد نام وفامیلیه که توشون اطلاعات هست).

salehbagheri
پنج شنبه 20 خرداد 1389, 02:05 صبح
كلا اين روش شما براي خواندن داده ها و نمايش اون در Label اشتباهه ... (كنترلهاي Data رو واسه همين ساختند كه شما به اين مشكلات گير نكنيد.)

كد زير رو اضافه كنيد:



l1.DataBind()


اگه نشد پروژه رو قرار بديد تا راحت تر مشكل رو حل كنيم.

mohsen_namad
پنج شنبه 20 خرداد 1389, 15:34 عصر
بازم جواب نگرفتم :ناراحت:
این برنامه شه:

hamedsabzian
پنج شنبه 20 خرداد 1389, 15:55 عصر
کدت رو تغییر دادم!
یه مقایسه با کد اولیت بکن.
مشکل اصلی:
while (dr.Read())
{
l1.Text += "<tr>";
for (int i = 0; i < dr.FieldCount; i++)
l1.Text += "<td>" + dr[i].ToString() + "</td>";
l1.Text += "</tr>";

}
l1.Text += "</table>";

mohsen_namad
پنج شنبه 20 خرداد 1389, 16:04 عصر
بازم جواب نمی ده . من این کد رو نوشتم که گفتید:



l1.Text = "<tabel borde=1>";
while (dr.Read())
{
l1.Text += "<tr>";
for (int i = 0; i < dr.FieldCount; i++)
l1.Text += "<td>" + dr[i].ToString() + "</td>";
l1.Text += "</tr>";

}
l1.Text = "</tabel>";



اگه برنامه رو بزارید ممنون می شم.

hamedsabzian
پنج شنبه 20 خرداد 1389, 16:08 عصر
برنامه رو گذاشتم!