PDA

View Full Version : چراDR_PUBLIC وقتی از کلاس بیرون میاد خالی میشه



masiha2500
یک شنبه 13 دی 1388, 08:31 صبح
می خوام یک کلاس تعریف کنم که توی اون این کد ها باشه

SqlConnection con = newSqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=chek print;Integrated Security=True");
SqlCommand cmd = newSqlCommand(s, con);
con.Open();
SqlDataReader DR_PUBLIC;
int i = 0;
using (DR_PUBLIC = cmd.ExecuteReader())

که به اون s رو بفرستم و خروجی اون هم DR_PUBLIC باشه این کار رو هم کردم اما DR_PUBLIC وقتی از کلاس بیرون میاد خالی میشه و وقتی به دستورهای زیر در تابع فرم اصلی میرسه هیچ مقداری نداره


if (DR_PUBLIC.HasRows == true)
int i = 0;
dgv_chek.Rows.Clear();
while (DR_PUBLIC.Read())
{
dgv_chek.Rows.Add();
dgv_chek.Rows[i].Cells["column1"].Value = DR_PUBLIC["serial"].ToString();

i += 1;

M.YasPro
یک شنبه 13 دی 1388, 09:10 صبح
سلام
فکر کنم شما باید توی متد سازنده کلاستون DR_Public رو مقدار دهی کنید

masiha2500
یک شنبه 13 دی 1388, 09:25 صبح
میشه بگین چطوری باید این کار رو انجام بدم

M.YasPro
یک شنبه 13 دی 1388, 10:02 صبح
کلاس شما میتونه این باشه


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace SaleApplication
{
class MyClass
{
SqlDataReader dr_public;


public SqlDataReader Dr_public
{
get { return dr_public; }
set { dr_public = value; }
}
public MyClass()
{
SqlConnection con=new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=chek print;Integrated Security=True");
SqlCommand cmd = newSqlCommand(s, con);
con.Open();
int i = 0;
dr_public = cmd.ExecuteReader();

}
public int GetProperty1()
{
return property1;
}

int property1;
int property2;

public int Property2
{
get { return property2; }
set { property2 = value; }
}

public int Property1
{
get { return property1; }
set { property1 = value; }
}
}
}



البته حتما راههای بهتر از این هم هست که اساتید راهنماییتون می کنن