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

نام تاپیک: select در سی شارپ

  1. #1
    کاربر تازه وارد آواتار alireza.b
    تاریخ عضویت
    فروردین 1392
    محل زندگی
    تهران
    پست
    61

    select در سی شارپ

    سلام
    دیتابیس برنامه من sqlite است.
    من می خواهم تمام یک ستون را بگیرم. اما نمی دانم چه جوری؟
    این کد رو ببینید:
                SQLiteCommand select2 = new SQLiteCommand("select مبلغ,ردیف from hesab", con);
    con.Open();
    SQLiteDataReader ddr=select2.ExecuteReader();
    if (ddr.Read())
    {
    string[] a = new string[1000];
    int i = 0;
    while (i != 1000)
    {
    a[i] = ddr["مبلغ"].ToString();
    i++;
    MessageBox.Show(a[i]);
    }
    }
    con.Close();

    در ستون مبلغ چند عدد نوشته شده است اما در مسیج باکس هیچ چیز نشان داده نمی شود؟
    لطفا کمک کنید

  2. #2
    کاربر تازه وارد آواتار alireza.b
    تاریخ عضویت
    فروردین 1392
    محل زندگی
    تهران
    پست
    61

    نقل قول: select در سی شارپ

    میشه کمک کنید؟

  3. #3
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: select در سی شارپ

    نقل قول نوشته شده توسط alireza.b مشاهده تاپیک
    میشه کمک کنید؟
    می تونی جدول رو به یه گرید وصل کنی بعد ستونی رو که انتخاب کردی در مسیج باکس نشون بدی

    private void button_Click(object sender, EventArgs e)
    {
    StringBuilder message = new StringBuilder();
    foreach (DataGridViewCell cell in this.dataGridView.SelectedCells)
    {
    message.AppendLine("Value = " + cell.Value);
    }

    MessageBox.Show(message.ToString());
    }

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    خرداد 1392
    پست
    38

    نقل قول: select در سی شارپ

    سلام.
    اول آنکه شما یک حلقه نوشتید و گفتید زحلقه تا زمانی ادامه پیدا کند که i به 1000 برسد.اما برچه اساس؟؟
    ضمنا دقت کنید که کار متد ddr.Read که استفاده کردید این نیست که نشان دهد آیا سطری وجود دارد یانه.هر چند درصورتی که بخواید فقط یک سطر رو بازیابی کنید میشه برای این کار ازش استفاده کرد.بلکه کار این خاصیت هست: ddr.HasRow - کاری که ddr.Read انجام میده اینه که سعی میکنه سطر بعدی ریسورس رو بخونه و در صورت موفقیت مقدار True برمیگردونه .بعد برای این موراد سعی کنید بجای آرایه از list ها استفاده کنید.هر چند که هدفی که شما از کدتون داشتید بدون استفاده از این هم حاصل میشد.

    کد اصلاح شده شما:


    SQLiteCommand select2 = new SQLiteCommand("select مبلغ,ردیف from hesab", con);
    con.Open();
    SQLiteDataReader ddr=select2.ExecuteReader();
    if (ddr.HasRows)
    {
    int i = 0;
    string res="";
    while (dbReader.Read())
    {
    res+= ddr["مبلغ"].ToString()+"\r\n";
    i++;
    }
    MessageBox.Show(res+"\r\n"+i.ToString()+" items has been found");
    }
    else
    MessageBox.Show("رکوردی برای نمایش وجود ندارد");
    con.Close();


    نکته آخر اینکه سعی کنید نام فیلدهاتون رو انگلیسی بگیرید و موقع نمایش فارسی نمایش بدید.

    SQLiteCommand select2 = new SQLiteCommand("select rowId as `شماره ردیف` , price as `قیمت` from hesab", con);


    موفق باشید.

  5. #5
    کاربر تازه وارد آواتار alireza.b
    تاریخ عضویت
    فروردین 1392
    محل زندگی
    تهران
    پست
    61

    نقل قول: select در سی شارپ

    ممنون از شما. البته من کد رو یکم تغییر دادم و توی آرایه ریختم
    while (ddr.Read())
    {
    a[i] = ddr["مبلغ"].ToString() + "\r\n";
    MessageBox.Show(a[i] + "\r\n" + i.ToString() + " items has been found");
    i++;
    }

    یه سوال دیگه:
    فرق "n\" با "r\"چیه؟

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    خرداد 1392
    پست
    38

    نقل قول: select در سی شارپ

    نقل قول نوشته شده توسط alireza.b مشاهده تاپیک
    یه سوال دیگه:
    فرق "n\" با "r\"چیه؟
    سلام و صبحتون بخیر
    ببینید r\ به معنای <CR> یا carriage return هست.کاری که این کاراکتر مخفی انجام میده رفتن به ابتدای خط هست.
    n\ هم که به اون new line یا line feed هم گفته میشه،کارش همون کاریه که کلید enter انجام میده.
    مفهوم r\ در سیستم های ویدوز و یونیکس یکی هست.اما در رابطه با رفتن به خط بعدی (<LF>) در سیستم یونیکس n\
    این کار رو انجام میده اما در ویدوز بسیاری اوقات باید از r\n \برای این کاراستفاده کنید.
    به خاطر این تفاوت در سیستم هاست که توصیه میشه برای برنامه های Cross Platform از Enviroment.NewLine
    بجای اینها استفاده بشه.جالب اینکه در سیستم mac همr \ کار NewLine رو انجام میده.
    اما سوالی که ممکنه پیش بیاد اینه که واقعا تفاوت r\ وn\ در چی هست؟ توضیح این تفاوت چندان ساده نیست،اما من با یه مثال سعی می کنم شما رو روشن کنم؛
    NotePad رو باز کنید و در خط اول چند عدد بنویسید،بعد به خط بعدی برید و اونجا هم چند عدد دیگه..
    حالا به خط اول برگردید و آخر خط وایستید(=carriage رو به انتهای خط ببرید) (همچنین می تونید با کلید end هم این کارو انجام بدید)حالا کلید right رو فشار بدید.چه اتفاقی می افته؟
    بله شما به ابتدای خط بعدی رفتید.دوباره به انتهای خط اول برگردید و این بار بجای کلید right کلید enter رو فشار بدید.تفاوت رو متوجه شدید؟

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آبان 1391
    پست
    4

    نقل قول: select در سی شارپ

    سلام به همه دوستان
    1مشکلی داشتم
    میخو.استم بدونم چجوری میشه توی س شارپ،بعد از انجام مراحل ساخت دیتابیس و ... ،وقتی میخوام از اون استفاده کنم، مثلا فقط به ستون دوم و به عبارتی یک سلول مشخص دسترسی داشته باشم
    ممنون میشم اگه کمکم کنید.خیلی نیاز دارم

تاپیک های مشابه

  1. مقدمه ای بر سی شارپ : قسمت- 2
    نوشته شده توسط Vahid_Nasiri در بخش مقالات مرتبط با Microsoft .Net Framework
    پاسخ: 10
    آخرین پست: پنج شنبه 14 شهریور 1392, 00:41 صبح
  2. سوال: اشکال در یک select در سی شارپ
    نوشته شده توسط fatemehmoon در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 04 اردیبهشت 1389, 12:02 عصر
  3. انتخاب تصادفي از نتايج select در سي شارپ
    نوشته شده توسط alinaghiha در بخش C#‎‎
    پاسخ: 3
    آخرین پست: پنج شنبه 26 آذر 1388, 08:43 صبح
  4. اشکال در فرمان select در سی شارپ
    نوشته شده توسط morva14 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 19
    آخرین پست: دوشنبه 22 تیر 1388, 22:53 عصر
  5. مقدمه ای بر سی شارپ : قسمت- 1
    نوشته شده توسط Vahid_Nasiri در بخش مقالات مرتبط با Microsoft .Net Framework
    پاسخ: 4
    آخرین پست: پنج شنبه 18 اسفند 1384, 18:18 عصر

برچسب های این تاپیک

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

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