50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

قراردادن یک ستون بجای نام پیش فرض

سلام

فرض کنید

 select id,count(Price) as [pricecount] ,name from test
group by id,name

است

اما من می خواهم بجای pricecount نام یک ستون دیگری را بگذارم مثلا

 select id,count(Price) as (select name from test2 where id='2') ,name from test
group by id,name

اما درعمل ایراد میگرد برای حل این مشکل چه راهی وجود دارد

باتشکر

پرسیده شده در 1395/05/27 توسط

6 پاسخ

0

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

با تشکر

پاسخ در 1395/05/28 توسط
0

باسلام و تشکر از لطف شما

  private void Form1_Load(object sender, EventArgs e)
        {
            var db = new DataClasses1DataContext();

            radGridView1.DataSource = db.S_test().ToArray();
        }

من اینگونه دادها را داخل دیتاگرید پر میکنم اما با spمورد نظر ToArray ندارد

پاسخ در 1395/05/27 توسط
0

کدی که استفاده می کنی رو بزار ببینم چجوری Bind می کنی.

پاسخ در 1395/05/27 توسط
1

یه نکته ای که وجود داره شما نمیتونید به این صورت خروجی رو دریافت کنید. به خاطر اینکه نام Column به صورت Dynamic انتخاب میشه و نمیشه Entity رو Map کرد. شما به صورت مستقیم و با کلاس SqlCommand کوئری رو اجرا کنید و خروجی که یک DataReader هست رو داخل یک Entity دلخواه قرار بدید، بعد لیست ایجاد شده رو به DataGrid بایند کنید:

public class Entity
{
    public int Id {get;set;}
    public int DynamicPrice {get;set;}
    public string Name {get;set;}
}

برای ایجاد لیست:

var entities = new List<Entity>();
var connection = new SqlConnection("cnnString");
var command = new SqlCommand("query",connection);
var reader = command.ExecuteReader();
while(reader.Read())
{
    // create list here
}
radGridView1.DataSource = entities;
پاسخ در 1395/05/27 توسط
0

سلام

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

چون قابل تبدیل به ToArray نیست ؟

باتشکر

پاسخ در 1395/05/27 توسط
0

سلام، کاری که شما می خواهید انجام بدید به صورت مستقیم وجود نداره، کاری که می تونید انجام بدید ایجاد یک دستور select به صورت dynamic و قرار دادن اون داخل یک متغیر و اجرای متغیر هست:

declare @colname nvarchar(max) = N'select id,count(Price) as ['+(select name from test2 where id='2') + '] ,name from test';
exec sp_executesql @colname
پاسخ در 1395/05/27 توسط

پاسخ شما