نمایش نتایج 1 تا 10 از 10

نام تاپیک: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

  1. #1

    Question خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    این کد ها
    string strq = String.Format("select id,sum (zarfiyat) ,gheymat,shomareparvande from table2 where id=2");
    DataSet DS1 = new DataSet();
    DS1.Clear();
    OleDbConnection con = new OleDbConnection();


    OleDbDataAdapter da = new OleDbDataAdapter();
    con.ConnectionString = databaseAddress;
    da.SelectCommand = new OleDbCommand();
    da.SelectCommand.Connection = con;
    da.SelectCommand.CommandText = strq;
    da.SelectCommand.CommandType = CommandType.Text;
    da.Fill(DS1, "Tbl1");
    con.Close();


    اینم ارور
    You tried to execute a query that does not include the specified expression 'id' as part of an aggregate function.

    این query من مشکل داره نمیدونم چه شکلی میشه نوشت تا کاری که من میخام رو انجام بده

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    سلام مشکل query شما اینه که فیلدهایی رو در کنار تابع sum استفاده کردید ولی این فیلدها را در group by قرار نداده اید

  3. #3

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    میشه query رو تصحیح کنید؟

  4. #4

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    در ضمن یه مشکلی هم هست ببینید من تو حدولم تو بانک فیلد zarfiyat رو دارم خب ؟ اما اینجا دارم sum رو از ش میکشم. اگه این کد جواب هم بده بازهم تو کریستال ریپورت نشونش نمیده چون من یه دیتا ست درست کردم و خود فیلد zarfiyat رو تو بانک بهش اضافه کردم تو کریستال . نمونه برنامه رو میزارم بهتره ببینید . خیلی ممنون میشم مشکلمو حل کنین.
    فایل های ضمیمه فایل های ضمیمه

  5. #5

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    کسی بلد نبود؟

  6. #6

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    یکی لطفا کمک کنه .

  7. #7
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    پست
    389

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    Sstring strq = String.Format("select id,sum (zarfiyat) ,gheymat,shomareparvande from table2 where id=2 group by id,gheymat,shomareparvande");

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    کد بالا اشتباهه group by باید فقط روی id قرار بگیره وقتی با این query یک جدول موقت درست کردی بعد با یک حلقه ی for برای هر کدوم از id های استخراجی کوئری اول بقیه داده ها رو استخراج کن برای قسمت where کوئری دوم id رو برابر داده ی استخراجی کوئری اول قرار بده اینطوریکه:
    ds.tables[0].rows[i][0];"select .... from .... where id="+
    (در کوئری اول sum رو هم بنویس)نمی دونم این راه چقدر درسته ولی می دونم که زیاد منطقی نیست

  9. #9

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    این کد منه .
    amespace Crsytal_Query
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    public static string databaseAddress = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}\db1.accdb", Environment.CurrentDirectory);

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
    // id,zarfiyatSUM(zarfiyat),,gheymat,shomareparvande
    string strq = String.Format("select id,sum(zarfiyat),gheymat,shomareparvande from table2 where id=2"
    +" group by id,gheymat,shomareparvande "); //GROUP BY id");
    // string strq = String.Format("select id,zarfiyat,gheymat,shomareparvande from table2 where id=2 "); //GROUP BY id");

    DataSet DS1 = new DataSet();
    DS1.Clear();
    OleDbConnection con = new OleDbConnection();


    OleDbDataAdapter da = new OleDbDataAdapter();
    con.ConnectionString = databaseAddress;
    da.SelectCommand = new OleDbCommand();
    da.SelectCommand.Connection = con;
    da.SelectCommand.CommandText = strq;
    da.SelectCommand.CommandType = CommandType.Text;
    da.Fill(DS1, "Tbl1");
    con.Close();

    CrystalReport1 cr1 = new CrystalReport1();
    cr1.SetDataSource(DS1.Tables["Tbl1"]);
    crystalReportViewer1.ReportSource = cr1;

    }
    }
    }

    جواب من این شکلی تو کریستال میاد مثلا:
    id اینجا باید sum zarfiyat باشه که نیست shomareparvande gheymat

    2 خالی 100 20
    2 خالی 200 40

    ----------------------------------------------------------------------------------------------------------------------------
    این بالا خروجی من بود اما موضوع اینه که من باید اینو طوری طراحی کنم که که تو ظرفیت sum رو داشته باشم. من نمیدونم چقدر این کاری که کردم درست باشه . لطفا" برنامه ای رو که up کردم رو بردارین و روش کار کنین ببینین که طوری میشه ازش جواب گرفت خودمم موندم چه شکلب اینو کار کنم. لطفا" هر طوری که میشه کمک کنبن منو. در شمن دوسمونم سه کد بالا نوشت اما نمیدونم تا چه جوری بتونم ازش استفاده کنم . لطفا کمک کنین .

  10. #10

    نقل قول: خطا مربوط به Select چند قیلد در بانک و نمایش آنها. ارور رو ببینید.

    کسی بلد نبود؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •