PDA

View Full Version : سوال: نحوه نوشتن و فراخوانی کوئری نوشته شده در دیتاست



MahmoodM30
یک شنبه 29 اسفند 1395, 19:32 عصر
سلام به دوستان ممنون میشم در این مورد من رو راهنمایی کنید

توی پروژم که از دیتاست استفاده میکنم و یه کوئری نوشتم که تعداد کتاب ها رو میخواد برام بر گردونه COUNT()

براشم یه شرط گذاشتم و کدم شده به شکل زیر


this.viewTBLBookerTableAdapter.FillByNewBookerCoun t(this.BookerDataSet.ViewTBLBooker, txtVaziyat.Text);
var row = BookerDataSet.ViewTBLBooker.Rows[0] as BookerDataSet.ViewTBLBookerRow;
Label1.Text = BookerDataSet.ViewTBLBooker.Rows[0][1].ToString();

سطر اول کدم رو گیر میده و میاد دیتاگریدم رو پر میکنه (البته با خطا) که نباید اینطوری بشه (نمیخوام دیتا گریدم رو پر کنه) حالا میخواستم بدونم برای همچین چیزایی چطوری باید با دیتا ست ارتباط برقرار کنم و داده مورد نظرم رو نشون بدم

Mahmoud.Afrad
یک شنبه 29 اسفند 1395, 20:02 عصر
کوئری که میسازید بایست از نوع "Select which returns a single value" باشد. در اینصورت متد تعداد رو به صورت یک عدد برمیگرداند.

MahmoodM30
یک شنبه 29 اسفند 1395, 20:20 عصر
ممنون بابات جواب آیا این دو خط کد من برای نشون دادن رکورد مورد نظرم درسته یا روش بهتری هست

var row = BookerDataSet.ViewTBLBooker.Rows[0] as BookerDataSet.ViewTBLBookerRow;

Label1.Text = BookerDataSet.ViewTBLBooker.Rows[0][1].ToString();

Mahmoud.Afrad
یک شنبه 29 اسفند 1395, 21:06 عصر
کوئری رو بزارید.

MahmoodM30
چهارشنبه 02 فروردین 1396, 19:43 عصر
این کوئری من هستش


SELECT
COUNT(Vaziyat) AS Tedad
FROM ViewTBLBooker
WHERE (Vaziyat=@Vaziyat) GROUP BY Vaziyat

به این شکل نمیشه نشون داد و درست اجرا نمیشه مشکل قبلی رو هم حل کردم با راهنمایی شما
حالا میخوام مقدار بازگشتی این رو ببینم با دو خط کدی که نوشتم نمیشه و درست کار نمیکنه یه چیز دیگه میاره
this.viewTBLBookerTableAdapter.FillByNewBookerCoun t(xtVaziyat.Text);
var row = BookerDataSet.ViewTBLBooker.Rows[0] as BookerDataSet.ViewTBLBookerRow;
Label1.Text = BookerDataSet.ViewTBLBooker.Rows[0][1].ToString();

danialafshari
پنج شنبه 03 فروردین 1396, 17:42 عصر
با سلام
اگه منظورتون رو متوجه شده باشم:
اومدم یک کوئری به شکل زیر از نوع SELECT witch returns single value ساختم به شکل زیر:
SELECT COUNT(*) AS Expr1
FROM Table_1



اسمشم گذاشتم CountQuery


حالا به شکل زیر ازش استفاده میکنم:




private void button1_Click(object sender, EventArgs e)
{
int? i= table_1TableAdapter.CountQuery();
MessageBox.Show(i.ToString());
}



امیدوارم به جوابتون رسیده باشید
کدتون رو به شکل زیر تغییر بدید:

int? i=viewTBLBookerTableAdapter.FillByNewBookerCount(x tVaziyat.Text);
Label1.Text=i.ToString();

موفق باشید

MahmoodM30
جمعه 04 فروردین 1396, 13:55 عصر
اگه مقدار برگشتی ما چند تا عدد مختلف باشه (استفاده از GROUP BY) اونوقت چطوری باید نمایش بدیم باید بریزیم تو آرایه یا حلقه یا چی ممنون میشم در این مورد هم راهنمایی بفرمایید

danialafshari
جمعه 04 فروردین 1396, 19:35 عصر
اگه مقدار برگشتی ما چند تا عدد مختلف باشه (استفاده از GROUP BY) اونوقت چطوری باید نمایش بدیم باید بریزیم تو آرایه یا حلقه یا چی ممنون میشم در این مورد هم راهنمایی بفرمایید

با سلام
بهتره توی DataGridView بریزید و textBox به Binding Source تون Bind کنید(Data Binding) که روی هر سطر از دیتاگرید میرید توی textBox ها نمایش بده
موفق باشید

MahmoodM30
جمعه 04 فروردین 1396, 19:59 عصر
اینطوری فایده نداره ولی فکر کنم روشی برای این کار باشه دوست عزیز باز ممنون از لطف و راهنمایی شما