PDA

View Full Version : دیتاتیبل و storeprocedure در معماری چندلایه



sara_t
دوشنبه 19 تیر 1391, 10:12 صبح
سلام دوستان
من از معماری چندلایه استفاده کردم و میخام یه ردیف رو در یک دیتاتیبل برگردونم، اما هیچ جوابی نشون نمیده میشه لطف کنید و منو راهنمایی بفرمایید.

دستور SP

ALTER PROCEDURE [dbo].[SelectNatije](@ghabz nvarchar(50),@ramz nvarchar(50))

AS
SELECT * FROM javabdehi
where (ghabz=@ghabz and ramz=@ramz )
RETURN

کدهای پشت دکمه کلیک:

protected void Button1_Click(object sender, EventArgs e)
{
javabdehi javabdehi = new javabdehi();
javabdehi.ghabz = ghabz.Text;
javabdehi.ramz = ramz.Text;

try
{
BindGrid();
}
catch (Exception ee)
{
lblnatije.Text = ee.Message.ToString();
}
finally
{
javabdehi = null;
}
}

private void BindGrid()
{
GridView2.DataSource = GridDataSource();
GridView2.DataBind();
}
private DataTable GridDataSource()
{
javabdehiBAL j = new javabdehiBAL();
DataTable dTable = new DataTable();
javabdehi javabdehi = new javabdehi();
try
{
dTable = j.natije(javabdehi);
}
catch (Exception ee)
{
lblnatije.Text = ee.Message.ToString();
}
finally
{
j = null;
}
return dTable;
}

کدهای قسمت BAL:

public DataTable natije(javabdehi javabdehi)
{
javabdehiDAL jDAL = new javabdehiDAL();
try
{
return jDAL.natije(javabdehi);
}
catch
{
throw;
}
finally
{
jDAL = null;
}
}

کدهای قسمت DAl:

public DataTable natije(javabdehi javabdehi)
{
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand("SelectNatije", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
cmd.Parameters.Add("@ghabz", javabdehi.ghabz);
cmd.Parameters.Add("@ramz", javabdehi.ramz);
SqlDataAdapter dAd = new SqlDataAdapter(cmd);
DataSet dSet = new DataSet();

try
{
dAd.Fill(dSet, "NatijeTable");
return dSet.Tables["NatijeTable"];
}
catch
{
throw;
}
finally
{
dSet.Dispose();
dAd.Dispose();
conn.Close();
conn.Dispose();
}
}

alonemm
دوشنبه 19 تیر 1391, 17:33 عصر
باسلام:

میتونید از این لینک کمک بگیرید مقاله: پیاده سازی و ساخت DataAccessLayer (معماری چندلایه دسترسی به داده) در قالب یک پروژه (http://barnamenevis.org/showthread.php?324837-%D9%85%D9%82%D8%A7%D9%84%D9%87-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-DataAccessLayer-(%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%DA%86%D9%86%D8%AF%D9%84%D8%A7%DB%8C%D9%87-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D8%AF%D8%A7%D8%AF%D9%87)-%D8%AF%D8%B1-%D9%82%D8%A7%D9%84%D8%A8-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87)


موفق باشید.

sara_t
سه شنبه 20 تیر 1391, 09:56 صبح
ممنون
من تو قسمت select هایی که یک یا چند فیلد رو برمیگردونن مشکل دارم که چطور باید اونو بنویسم؟

Web Arman
شنبه 24 تیر 1391, 17:15 عصر
باسلام:

میتونید از یک شی Data Table برای برگردوندن جواب یک یا چند رکورد استفاده کنید.