PDA

View Full Version : سوال: چطور می توان مقدار بازگشتی یک کوئری را در label نمایش داد



hadis91
شنبه 04 آذر 1391, 15:54 عصر
سلام.
نتیجه جستجو در یک جدول در sql رو میخوام توی یک lable نمایش بدم ولی نمیدونم چطور باید اینکار رو انجام بدم، اگه بتونید منو راهنمایی کنید ممنون میشم.

da.fill(ds,"sp")

نتیجه جستجو رو چطور از ds به lable منتقل کنم؟ جواب یک عدده

farghabil
شنبه 04 آذر 1391, 16:26 عصر
sqlcommand com=new sqlcommand("select * from tbl where id='1'")
sqldatareader dr=com.excutereader();
while(dr.read()){
str=dr["id"].tostring();
}

nima.sh
شنبه 04 آذر 1391, 16:43 عصر
سلام.
نتیجه جستجو در یک جدول در sql رو میخوام توی یک lable نمایش بدم ولی نمیدونم چطور باید اینکار رو انجام بدم، اگه بتونید منو راهنمایی کنید ممنون میشم.

da.fill(ds,"sp")

نتیجه جستجو رو چطور از ds به lable منتقل کنم؟ جواب یک عدده


با دستور executescaler هم میتونی انجام بدی،فقط مقدار یه فیلد مشخص رو واست برمیگردونه،به این صورت:
label1.text=cmd.ExcuteScaler();
موفق باشی.....

hadis91
شنبه 04 آذر 1391, 16:55 عصر
مرسی از اینکه جواب دادین.
تیکه کد شما رو به برنامم اضافه کردم ولی راستش متوجه نشدم دستور اختصاص str به label رو کجا باید بنویسم. کد خودم رو واستون میفرستم لطفا ببینیدش و اشکالشو بهم بگید مرسی.
string str;
con = new SqlConnection(strcon);
con.Open();
SqlCommand com = new SqlCommand("select sum(qty) from sp where qty='"+textBox1.Text+"'");
SqlDataReader dr=com.ExecuteReader();
while(dr.Read()){
str=dr["qty"].ToString();
}

con.Close();
label1.Text = str;
}

farghabil
شنبه 04 آذر 1391, 18:13 عصر
strin str رو ببر تو قسمت
public partial class نام صفحه: System.Web.UI.Page
{

تغریف کن

farghabil
شنبه 04 آذر 1391, 18:15 عصر
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

public partial class admin_Menu_Struct : System.Web.UI.Page
{
strin str;
protected void Button1_Click(object sender, EventArgs e)
{
SqlCommand com = new SqlCommand("select * from Roots", con);
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
DropDownList1.Items.Add(dr["name"].ToString());
}
con.Close();
label1.Text = str;

Mozhdeh.Hemati
شنبه 04 آذر 1391, 19:05 عصر
سلام،

جواب سوال:

// رشته اتصال به پایگاه داده
string protocol = @"رشته اتصال";

// شیء اتصال به پایگاه داده
SqlConnection con = new SqlConnection(protocol);

// شیء ایجاد کوئری
SqlCommand cmd = new SqlCommand();

// تنظیم شیء کوئری
cmd.Connection = con;
string command = "SELECT SUM(qty) FROM sp WHERE qty='{0}'";
cmd.CommandText = string.Format(command, textBox1.Text);

// برقراری اتصال به پایگاه داده
con.Open();

// اجرای کوئری و دریافت نتیجه
long result = Convert.ToInt64(cmd.ExecuteScalar());

// بستن اتصال پایگاه داده
con.Close();

// نمایش نتیجه
label1.Text = result.ToString();

چند نکته:
1- آقای nima.sh، مقدار بازگشتی دستور ExecuteScalar از نوع Object می باشد؛ پس نمی توان مستقیما مقدار آن را به خصوصیت Text یک شیء فرستاد.
2- جناب farghabil، از شیء SqlDataReader برای پیمایش مجموعه ای از نتایج دریافتی از پایگاه داده استفاده می شود؛ هرچند که با این روش هم به نتیجه می رسیم ولی استفاده از این روش با فلسفه ایجاد آن منافات دارد!

یاد بگیریم زیبا بنویسیم، برنامه نویسی یک هنر است

hadis91
شنبه 04 آذر 1391, 20:00 عصر
واقعا ازتون ممنونم.خیلی لطف کردین :لبخندساده: