مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

s8990

عضویت از 1394/11/25

درج اطلاعات دو جدول دیتابیس در کنارهم

  • جمعه 20 بهمن 1396
  • 19:32
تشکر میکنم

سلام دوستان

من میخوام توی سایت، یک لیست داشته باشم که نام برندها رو نشون بده و در کنارش هم تعداد کالاهای اون برند رو نشون بده. ولی همون طور که توی کدهای زیر میبینین توی response.write ، نام برند در کنار تعداد و در یک تگ li قرار گرفته اند . ولی مشکل اینجاست که نام برند از یک جدول نشون داده میشه و تعداد رو باید از یک جدول دیگه نشون داده بشه. باید چیکار کنم ؟ (از storeprocedure استفاده کردم و وب فرم) .

<%
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbpath"].ConnectionString);
SqlCommand cmd = new SqlCommand("sp_Brand", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Action", "SelectAll");
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
    Response.Write("<li class='list-group-item'><a href='#'><span class='size-11 text-muted pull-right'>(92)</span>" + dr["Brand_Name"].ToString() + "</a></li>");
}
cn.Close();
%>

لینک عکس نحوه قرارگیری داخل سایت :

http://uupload.ir/files/j2l8_222.jpg

ممنون از دوستانی که وقت میزارن

موفق و سربلند باشید

پاسخ های این پرسش

تعداد پاسخ ها : 11 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 20 بهمن 1396
  • 19:39

باید join بزنید یا از sub query استفاده کنید 

For Example

CREATE proc getRecords @t char(1)
as
set nocouut on;
-- other statements --
-- final select
select * from master..spt_values where type = @t
GO

CREATE FUNCTION fn_getRecords(@t char(1))
returns @output table(
    name sysname,
    number int,
    type char(1),
    low int,
    high int,
    status int) as
begin
-- other statements --
-- final select
insert @output
select * from master..spt_values where type = @t
return
end;

این لینک هم توضیحات کامل داده

کاربر سایت

s8990

عضویت از 1394/11/25

  • جمعه 20 بهمن 1396
  • 19:48

ممنون حناب مدائنی. باید یک storeprocedure بنویسم که توسط join یا subquery این کارو انجام بده و اونو جایی که میخوام فراخوانی کنم ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 20 بهمن 1396
  • 19:48

بله 

کاربر سایت

s8990

عضویت از 1394/11/25

  • جمعه 20 بهمن 1396
  • 20:04

ممنون از لطفتون

موفق و سربلند باشید

کاربر سایت

s8990

عضویت از 1394/11/25

  • شنبه 21 بهمن 1396
  • 18:55

سلام جناب مدائنی

من کدمو اینجا قرار میدم

    Response.Write("<li class='list-group-item'><a href='#'><span class='size-11 text-muted pull-right'>(92)</span>" + dr["Brand_Name"].ToString() + "</a></li>");

اون دو قسمتی که قرمز کردم (

92 و 
dr["Brand_Name"].ToString()

) باید بصورت داینامیک فراخوانی بشن و نمایش داده بشن. حالا مشکل اینجاست که اگه من store procedure رو برای نمایش تعداد بنویسم فقط تعداد رو به من برمیگردونه که با توجه به راهنمایی های شما تقریبا انجامش دادم. ولی دیگه نام ها رو ندارم. و اگه بخوام ها نام ها رو نشون بدم تعداد رو ندارم. چطوری میتونم اینکارو انجام بدم ؟

ممنون

پ.ن : برای اینکه جدول ها رو بهتر متوجه شین یه توضیح کوتاه میدم . من دو تا جدول دارم

جدول اول که کالا ها توش ثبت میشه و توش یه ستون دارم که آیدی برند کالا ثبت میشه توش.

جدول دوم که توش برند ها رو ثبت می کنم که هم اسم برند هست و هم آیدی برند که شمابه آیدی برند در جدول کالاهام هست . ببخشید طولانی شد

بازم مرسی

موفق باشید

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 22 بهمن 1396
  • 10:45

متاسفانه من تجربه زیادی در کار با sp ندارم

نمونه زیر رو بررسی کنید

نحوه ایجاد و استفاده از Stored Procedure در NET.

کاربر سایت

s8990

عضویت از 1394/11/25

  • یکشنبه 22 بهمن 1396
  • 11:11

ممنون جناب مدائنی

برای اینکه توی حالت web form راحتتر بشه اینکارارو انجام  داد (کلا عملیات CRUD) باید از چه روشی استفاده کرد ؟ به من گفتن SP راحتترین روشه ولی الان به مشکل خوردم.

بعضی جاها داخل صفحه میخوایم از دو یا سه تا جدول اطلاعات رو فراخوانی کنم به مشکل میخورم. به نظر شما کدوم روش رو یاد بگیرم که راحت تر بشه انجام داد اینکارو ؟

ممنون

موفق و سربلند باشید

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 22 بهمن 1396
  • 11:30
من خودم از سالهاست از Entity Framework استفاده میکنم ، پیشنهاد میکنم امتحانش کنید
کاربر سایت

s8990

عضویت از 1394/11/25

  • یکشنبه 22 بهمن 1396
  • 11:31

حتما امتحان میکنم . ممنون از راهنماییتون heart

در حالت webform میشه از entity استفاده کرد ؟

حتما باید پروژه چندلایه باشه تا بشه ازش استفاده کرد ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 22 بهمن 1396
  • 11:41
بله میشه و نیازی به لایه بندی نداره
کاربر سایت

s8990

عضویت از 1394/11/25

  • یکشنبه 22 بهمن 1396
  • 14:05

ممنون از راهنماییتون smiley

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)