PDA

View Full Version : سوالی درباره select در پایگاه داده



djscsi
سه شنبه 19 خرداد 1388, 12:57 عصر
دوستان من میخام از پایگاه داده ای فقط رکوزدهایی برگرده که این شرط رو دارن
SELECT * FROM student
where no=@no

اما SELECT * FROM student این اجرا میشه یعنی تمام فیلدها در data grid نشون داده میشه منظورم یه جور فیلتر رکوردهاست نه غیلدهای جدول
من در dataset روی studentTableAdapter راست کلیک کردم و add guery رو زدم و گزینه اول(sql statement )رو انمتخاب کردم در صفحه بعد کدوم select رو انتخای کنم؟
ممنون

pesar irooni
سه شنبه 19 خرداد 1388, 13:25 عصر
select with return rows
بعد هم هم دستوری رو که نوشتید وارد می کنید یعنی

SELECT * FROM student
where no=@no
این باعث میشه table adapter یه متد بسازه که ازت یه پارامتر میگیره و اون پارامتر no هست که باعث میشه یه سری رکوردها فیلتر بشن

djscsi
سه شنبه 19 خرداد 1388, 14:17 عصر
من این رو در کلاس تعریف کردم

public object studentlist()
{
dt_student=new WindowsApplication1.DataSet1TableAdapters.studentT ableAdapter ();

WindowsApplication1.DataSet1.studentDataTable s;
s = dt_student.GetStudentsList(field_code);

return s;

}

و برای استفاده این کارو کردم

private void button1_Click(object sender, EventArgs e)
{

st = new students();
st.Field_code = Convert.ToInt32(textBox1.Text);
st.studentlist();
this.studentTableAdapter.Fill(this.dataSet1.studen t);
{


ممنون ولی میشه بگی خروجیش تو چی میره؟
منظورم اون s هست اون رو چی تعریف کنم؟

pesar irooni
سه شنبه 19 خرداد 1388, 15:21 عصر
اولا که کدهاتون رو اگه میشه داخل تگ CODE بزارید.ثانیا اصلا معلوم نیست چیکار کردیداین خطst.studentlist()هیچ تاثیری نداره و یا به عبارتی این متد که نوشتید هیچ کاری نمیکنه.شما اگه میخواهید جدول خاصی رو fill کنید با دستور fill همون کوئری که نوشتید میتونید اینکار رو بکنید. یعنی شما هر کوئری که مینویسید یه متد از نوع Get به شما میده که یه DataTable برمیگردونه (در کد شما( GetStudentsList(field_code ) و یه متد از نوع Fill میده که جدا از پارامترهای خاص متد یه DataTable هم میگیره تا اون رو fill کنه . یعنی شما کلا اون متدی که نوشتی رو باید پاک کنی و تو رویداد button بنویسی
FillStudentsList(this.dataSet1.student,field_code) ضمنا همیشه سعی کن با DataTable کار کنی. مثلا اگه به متدی مثل اونی که نوشتی نیاز داشتی اینطور بنویس


public DataTable studentlist()
{
dt_student= new WindowsApplication1.DataSet1TableAdapters.studentT ableAdapter();
return dt_student.GetStudentsList(field_code);
}

djscsi
چهارشنبه 20 خرداد 1388, 09:54 صبح
ببینید من یک چنین فرمی دارم میخام مقدار field_code از ورودی بیاد و اونایی که این field_code شون هست در datagrid نشون داده بشه
حالا فکر کنم سوالم رو بهتر توضیح دادم

این خطst.studentlist()هیچ تاثیری نداره
ببینید من یک کلاس تعریف کردم به اسم student که در اون تابع studentlist وجود داره
در این فرم یک شی از نوع student ایجاد کردم به اسم st

djscsi
پنج شنبه 21 خرداد 1388, 22:55 عصر
يه مثال ساده كسي نداره

merced
پنج شنبه 21 خرداد 1388, 23:39 عصر
<asp:Button ID="Button444" runat="server" CssClass="button"
Text="اضافه کردن موارد انتخابی" Width="286px" onclick="Button1_Click"
onclientclick="return confirm('آیا موارد انتخاب شده را اضافه می کنید؟');" />

يه تگ داريم (onclientclick) كه شما يه كد توش مي نويسي خروجي ture/false داره. اگه برگشتيش true ‌باشه كد سمت سرور اجار خواهد شد. وگرنه كه هيچي.

djscsi
جمعه 22 خرداد 1388, 21:55 عصر
دوست من ممنون ولي اون asp نيست c# هست
كسي چيزي نميدونه؟

djscsi
شنبه 23 خرداد 1388, 10:18 صبح
دوستان من این ونوشتم ولی بازم هیچ کاری نمیکنه
کسی میتونه کمک کنه

private void button1_Click(object sender, EventArgs e)
{

dataSet1.student.DefaultView.RowFilter = " field_code="+textBox1.Text;
this.studentTableAdapter.Fill(this.dataSet1.studen t);
}