PDA

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



reza97
شنبه 05 اسفند 1391, 18:41 عصر
سلام
من بااین کد نتایج رو روی لیبیل نمایش میدم(بگذرد که for و... داره)
string cfj = System.Configuration.ConfigurationManager.Connecti onStrings["gdl"].ToString();
SqlConnection conj = new SqlConnection(cfj);
string strj = "select count(*) from tblresult where polid=@polid and result=@result";
SqlCommand cmdj = new SqlCommand(strj, conj);
cmdj.Parameters.AddWithValue("@polid", Label3.Text);
cmdj.Parameters.AddWithValue("@result", k);
conj.Open();
int b = int.Parse(cmdj.ExecuteScalar().ToString());
int w = (100 * b) / Convert.ToInt32(Label4.Text);

Label7.Text += w.ToString() + "درصد<br/>";

حالا روی نتایج که کلیک میکنم نتایج رو نمایش میده.اما وقتی دوباره روش کلیک میشه نتایج مثلا 3 تا که ردیف کرده نتایج جدید رو سه تا هم زیرش نمایش میده بعد دوباره کلیک میکنی بازم نتایج هی ادامه پیدا میکنه
من چیکار کنم که هر بار که کلیک شد نتایج تازه نمایش داده بشه و هی پشت سر هم نیفته

Mohammadvb6
شنبه 05 اسفند 1391, 19:01 عصر
private void Using_SqlDataAdapter()
{
string connectionString = ConfigurationManager.ConnectionStrings["CS_ASP_22_ConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString);

try
{
connection.Open();

string sql = "SELECT UserID,Username,Password,Email FROM Users";

SqlCommand cmd = new SqlCommand(sql, connection);

DataSet dsUsers = new DataSet();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(dsUsers,"Users");

if (dsUsers.Tables["Users"].Rows.Count != 0)

{
lblOutput.Text = string.Empty;
foreach (DataRow drUser in dsUsers.Tables["Users"].Rows)
{
lblOutput.Text += string.Format("User ID: {0} <br>Username: {1} <br>Password: {2} <br>Email: {3} <hr>",
drUser["UserID"].ToString(),
drUser["Username"].ToString(),
drUser["Password"].ToString(),
drUser["Email"].ToString());
}
}

}
catch (SqlException exp)
{
}
finally
{
connection.Close();
}
}

aliblue
شنبه 05 اسفند 1391, 20:24 عصر
جایی که نوشتی :
Label7.Text += w.ToString() + "درصد";
+ قبل از = رو حذف کن.اینطور که نوشتی به متن قبلی لیبل متن جدید رو اضافه می کنه.

reza97
شنبه 05 اسفند 1391, 22:24 عصر
جایی که نوشتی :
Label7.Text += w.ToString() + "درصد";
+ قبل از = رو حذف کن.اینطور که نوشتی به متن قبلی لیبل متن جدید رو اضافه می کنه.
آخه من یک for گذاشتم اگر اینو حذف کنم فقط ایندکس اول منو نشون میده اونو گذاشتم که از indexمثلا صفر شروع میشه و تا مثلا 7 میره اما دیگه میخوام دوباره دگمه زده بشه دیگه نتایج زیر نتایج قبلی نمایش داده نشه

reza97
شنبه 05 اسفند 1391, 22:25 عصر
private void Using_SqlDataAdapter()
{
string connectionString = ConfigurationManager.ConnectionStrings["CS_ASP_22_ConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString);

try
{
connection.Open();

string sql = "SELECT UserID,Username,Password,Email FROM Users";

SqlCommand cmd = new SqlCommand(sql, connection);

DataSet dsUsers = new DataSet();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(dsUsers,"Users");

if (dsUsers.Tables["Users"].Rows.Count != 0)

{
lblOutput.Text = string.Empty;
foreach (DataRow drUser in dsUsers.Tables["Users"].Rows)
{
lblOutput.Text += string.Format("User ID: {0} <br>Username: {1} <br>Password: {2} <br>Email: {3} <hr>",
drUser["UserID"].ToString(),
drUser["Username"].ToString(),
drUser["Password"].ToString(),
drUser["Email"].ToString());
}
}

}
catch (SqlException exp)
{
}
finally
{
connection.Close();
}
}




دوست عزیز ممنون از شما میشه در مورد کدتون بیشتر توضیح بدید

aliblue
یک شنبه 06 اسفند 1391, 10:36 صبح
خوب فکر کنم اگه توی رویداد کلیک دکمه نتایج و اولش و قبل از حلقه for متن لیبل رو پاک کنی درست بشه.
Label7.Text="";