PDA

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



hessam2003
شنبه 14 تیر 1393, 14:31 عصر
سلام.
این کلاسو طراحی کردم.
میخوام مقداری رو از Database بخونم
که نمیدونم چرا میگه متغییر ingredients مقدار نداره!!
120804
و وقتی فراخوانیش میکنم
120806
به من دو مرتبه مقدار داخل متغییر session رو نمایش میده.
در صورتی که من میخوام ابتدا مقادیر session و بعد ingredients را نمایش بده
store procedure سمت SQL درست جواب میده!!

parvizwpf
شنبه 14 تیر 1393, 16:18 عصر
شما دارید دوبار return میکنید. اگر دو تا مقدار session و ingredients رو نیاز دارید میتونید یک کلاس بسازید:
public class MyClass{
public string session;
public string ingredients;
}

حالا خروجی متد select زو از نوع این کلاس بدید و داخلش یک آبجکت رو با مقادیر دلخواه از این کلاس برگردونید.

hessam2003
شنبه 14 تیر 1393, 17:41 عصر
حالا خروجی متد select زو از نوع این کلاس بدید و داخلش یک آبجکت رو با مقادیر دلخواه از این کلاس برگردونید

میشه بگید کد این قسمتو چجوری باید بنویسم؟

parvizwpf
شنبه 14 تیر 1393, 18:22 عصر
public MyClass select()
{
MyClass mc=new MyClass();
mc.session=".....";
mc.ingredients=".....";
return mc;
}

hessam2003
شنبه 14 تیر 1393, 18:35 عصر
این کلاسم
میشه کدیو که میگید رو اینجا اعمال کنید؟
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Academy_Asal
{
public class Reminder_class
{
public Int64 Reminder_srl;
public string Reminder_id, Reminder_session, Reminder_ingredients;
public Reminder_class(Int64 R_srl, string R_id, string R_session, string R_ingredients)
{
this.Reminder_id = R_id;
this.Reminder_session = R_session;
this.Reminder_ingredients = R_ingredients;
}
public string Select()
{
string session = "";
string ingredients = "aa";
(new Academy_datasetTableAdapters.QueriesTableAdapter() ).Academy_reminder_select(this.Reminder_id, ref session, ref ingredients);
return session;
// return ingredients;
}
}
}

hessam2003
یک شنبه 15 تیر 1393, 14:54 عصر
کسی میتونه کلاس منو اصلاح کنه؟؟؟؟

parvizwpf
یک شنبه 15 تیر 1393, 15:08 عصر
(new Academy_datasetTableAdapters.QueriesTableAdapter() ).Academy_reminder_select(this.Reminder_id, ref mc.session, ref mc.ingredients);

hessam2003
یک شنبه 15 تیر 1393, 15:57 عصر
این کدو باید کجای کلاسم اضافه کنم؟؟

public MyClass select()
{
MyClass mc=new MyClass();
mc.session=".....";
mc.ingredients=".....";
return mc;
}

parvizwpf
یک شنبه 15 تیر 1393, 16:07 عصر
داخل همون کلاس کنار تابع یا یه فایل جداگونه برای این کلاس بسازید.

hessam2003
سه شنبه 17 تیر 1393, 15:14 عصر
آقا نمیشه!!
میشه لطفا همین راهنمایی که کردینو توی کلاس اصلی من اعمال کنید؟؟
ممنون میشم.
using System;using System.Collections.Generic;using System.Linq;
using System.Text;


namespace Academy_Asal
{
public class Reminder_class
{
public Int64 Reminder_srl;
public string Reminder_id, Reminder_session, Reminder_ingredients;
public Reminder_class(Int64 R_srl, string R_id, string R_session, string R_ingredients)
{
this.Reminder_id = R_id;
this.Reminder_session = R_session;
this.Reminder_ingredients = R_ingredients;
}
public string Select()
{
string session = "";
string ingredients = "aa";
(new Academy_datasetTableAdapters.QueriesTableAdapter() ).Academy_reminder_select(this.Reminder_id, ref session, ref ingredients);
return session;
// return ingredients;
}
}
}

parvizwpf
سه شنبه 17 تیر 1393, 15:18 عصر
یعنی چی نمیشه؟ خطا داره؟ کلاس رو براش یه فایل کلاس ایجاد کنید و کد ها داخلش بنویسید بعد اونها رو در کدتون بخونید

hessam2003
سه شنبه 17 تیر 1393, 15:34 عصر
یعنی MyClass یک کلاس جدا و Reminder_class هم یک کلاس جداگانه باید تعریف بشه؟؟
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace WindowsFormsApplication6
{
public class MyClass
{
public string session;
public string ing;
public MyClass select()
{
MyClass mc = new MyClass();
mc.session = ".....";
mc.ing = ".....";
return mc;
}
}
public class Reminder_class
{
public Int64 Reminder_srl;
public string Reminder_id, Reminder_session, Reminder_ingredients;
public Reminder_class(Int64 R_srl, string R_id, string R_session, string R_ingredients)
{
this.Reminder_id = R_id;
this.Reminder_session = R_session;
this.Reminder_ingredients = R_ingredients;
}
public string Select()
{
(new Academy_datasetTableAdapters.QueriesTableAdapter() ).Academy_reminder_select(this.Reminder_id, ref mc.session, ref mc.ingredients);
}
}
}
خطا داره؟
اگه میشه اصلاحش کنید خیلی واجبه

parvizwpf
سه شنبه 17 تیر 1393, 15:36 عصر
namespace WindowsFormsApplication6
{
public class MyClass
{
public string session;
public string ing;
} public class Reminder_class
{
public Int64 Reminder_srl;
public string Reminder_id, Reminder_session, Reminder_ingredients;
public Reminder_class(Int64 R_srl, string R_id, string R_session, string R_ingredients)
{
this.Reminder_id = R_id;
this.Reminder_session = R_session;
this.Reminder_ingredients = R_ingredients;
}
public string Select()
{
MyClass mc=new MyClass();

(new Academy_datasetTableAdapters.QueriesTableAdapter() ).Academy_reminder_select(this.Reminder_id, ref mc.session, ref mc.ingredients);
}
}
}

hessam2003
سه شنبه 17 تیر 1393, 15:38 عصر
خط 32
از mc داره خطا میگیره
الان چیزی که نوشتم درسته؟

parvizwpf
سه شنبه 17 تیر 1393, 15:40 عصر
^کد رو آپدیت کردم مطالعه کنید

hessam2003
سه شنبه 17 تیر 1393, 16:00 عصر
الان این خطارو میده
Error 1 The type or namespace name 'Academy_datasetTableAdapters' could not be found (are you missing a using directive or an assembly reference?)
از خط 21 داره خطا میگیره
بعد mc رو که return میکنم باز از اونم خطا میگیره!!