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

نام تاپیک: خطای There is no row at position 0

  1. #1
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    خطای There is no row at position 0

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

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: خطای convert to bool

    سلام
    دلیلش اینه که کوئری شما نتیجه ای نداشته و سطر 0 خالی هست.

  3. #3
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    نقل قول: خطای convert to bool

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    دلیلش اینه که کوئری شما نتیجه ای نداشته و سطر 0 خالی هست.
    متوجه منظورتون نشدم

    ببینین این برای سطح دسترسیه مرحله به مرحله که نوشتم اجرا گرفتم تا مرحله اضافه کردن کاربر پیش رفت ولی قسمتی که این کد رو توی لود فرم اصلیم نوشتم خطا گرفت

     User U = new User();
    U.LoadAccess(Functions.UserName);
    m1_sabt.Enabled = U.Access_sabt ;
    m2_savabegh.Enabled = U.Access_savabegh ;
    m3_gozaresh.Enabled = U.Access_gozaresh ;
    m4_jostejo.Enabled = U.Access_jostejo ;
    m5_backup.Enabled = U.Access_backup ;
    m6_adduser.Enabled = m7_changeuser.Enabled = m8_deleteuser.Enabled = U.Access_Users;

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: خطای convert to bool

    ببینید این خطا معنیش اینه که دیتاتیبل شما خالیه یعنی توی سطر 0 هیچ اطلاعاتی وجود نداره. دیتاتیبل شما هم که از کوئری پر میشه بنابراین سلکتی که شما زدید هیچ سطر رو پیدا نکرده. شما الان همین کوئری رو تو خود sql server managment studio اجرا کنید ببینید چیزی پیدا میکنه یا نه.

  5. #5
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    نقل قول: خطای convert to bool

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    ببینید این خطا معنیش اینه که دیتاتیبل شما خالیه یعنی توی سطر 0 هیچ اطلاعاتی وجود نداره. دیتاتیبل شما هم که از کوئری پر میشه بنابراین سلکتی که شما زدید هیچ سطر رو پیدا نکرده. شما الان همین کوئری رو تو خود sql server managment studio اجرا کنید ببینید چیزی پیدا میکنه یا نه.
    خب من کد رو به ی مرحله عقب تر بردم این کد منه کاربر ثبت میشه حالا اگه بخوام این کاربر با سطح دسترسی من اعمال بشه باید چه کدی بزنم؟ خودم ی کد زدم خطا بالا رو داد ولی الان اون کد رو حالت توضیحات دراوردم که شماها کمکم کنین

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace final_doctor
    {
    public partial class login : Form
    {
    public login()
    {
    InitializeComponent();

    DataBase_SQL.Server = "";
    DataBase_SQL.DataBaseName = "finaldoctor";
    }

    private void button1_Click(object sender, EventArgs e)
    {
    // mainform m = new mainform();

    //m.Show();

    //---------------------------
    if (txt_Pass.Text == "")
    {
    MessageBox.Show("لطفا رمز عبور را وارد نمایید", "رمز عبور", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    txt_Pass.Text = "";
    txt_Pass.Focus();
    return;
    }
    //---------------------------
    User U = new User();
    try
    {
    U.UserName = txt_UserName.SelectedValue.ToString();
    U.Password = txt_Pass.Text ;
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message, "اطلاعات نادرست", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    return;
    }
    if (!U.IsCorrectUser())
    {
    MessageBox.Show("رمز عبور اشتباه است", "رمز عبور", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    txt_Pass.Text = "";
    txt_Pass.Focus();
    return;
    }
    else
    {
    this.Hide();
    mainform Form = new mainform ();
    Functions.UserName = U.UserName;

    this.Hide();
    Form.Show();
    }
    }

    private void button2_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }

    private void login_Load(object sender, EventArgs e)
    {
    User U = new User();

    U.ShowUsers(txt_UserName);
    if (txt_UserName.Items.Count == 0)
    {
    MessageBox.Show("تا کنون هیچ کاربری ایجاد نشده است", "کاربر سیستم", MessageBoxButtons.OK);
    Application.Exit();

    }
    }





    private void txtname_TextChanged(object sender, EventArgs e)
    {

    }
    }

    }


    این کد بالا مربوط به کد لاگین منه که به درستی کاربر رو اضافه میکنه چندتا کاربر اضافه کردم و داخل sql دیدم که ثبت شدن

  6. #6
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    نقل قول: خطای convert to bool

    log.jpg ثبت میشه ولی اعمال نمیشه

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: خطای convert to bool

    شاید مشکل از کانکشن استرینگ باشه، دیتابیس رو از توی خود ویژوال استودیو ساختید؟ اگر اینطور باشه معمولا دو تا دیتابیس ایجاد میشه که یکیش هر بار که برنامه رو اجرا میکنید پاک میشه.

  8. #8
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    نقل قول: خطای convert to bool

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    شاید مشکل از کانکشن استرینگ باشه، دیتابیس رو از توی خود ویژوال استودیو ساختید؟ اگر اینطور باشه معمولا دو تا دیتابیس ایجاد میشه که یکیش هر بار که برنامه رو اجرا میکنید پاک میشه.
    خب یعنی اگه جدول داخل sql که خودم ساختم رو پاک کنم با کدهایی که داخل کلاس دیتابیس ساختم برام جدول میسازه؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: خطای convert to bool

    نه، منظورم اینه که شما دیتابیس رو از طریق Server Explorer داخل ویژوال استودیو ساختید یا از طریق برنامه Sql Server Management Studio؟
    به یه روش دیگه میشه امتحان کرد، شما یه گرید روی فرم قرار بدید بعد اطلاعات رو Insert کنید بعد توی گرید نمایش بدید. در لود فرم هم کدهای مربوط به پر کردن گرید رو بنویسد تا در لود فرم هم گرید پر بشه. حالا برنامه رو ببندید و مجدداً باز کنید ببینید اطلاعات توی گرید هست یا نه؟ اگر نباشه مشکل از کانکشن استرینگه و اگه باشه مشکل جای دیگه است. یعنی توی متد LoadAccess به جای اینکه اطلاعات رو توی متغیرها قرار بدید در گرید قرار بدید. فعلا اینو امتحان کنید.

  10. #10
    کاربر دائمی آواتار saba664
    تاریخ عضویت
    شهریور 1396
    محل زندگی
    کرمانشاه
    سن
    37
    پست
    147

    نقل قول: خطای There is no row at position 0

    خب من مشکلم حل شد ولی می خوام علت این مشکل رو بگم شاید کسی مثل من به این مشکل برخورد کنه

    اشکال و ایراد این خطا و رفع اون فقط برای این بود که توکلاس user بعد از ["Access_sabt"] باید یه دونه Tostring() می ذاشتم یعنی اون قطعه کدی که خطا می گرفت به این شکل تغییر باید بکنه


    Access_sabt = Convert.ToBoolean(DT.Rows[0]["Access_sabt"].ToString());



    برای تمام فیلدهایی که تو این قسمت با این کد نوشتیم باید به اخر همه اشون یه دونه To string() اضافه میشد

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

  1. پاسخ: 2
    آخرین پست: شنبه 17 خرداد 1393, 20:30 عصر
  2. سوال: علت اصلی خطای there is no row at possition 0
    نوشته شده توسط aminaltavista در بخش C#‎‎
    پاسخ: 9
    آخرین پست: شنبه 01 مهر 1391, 11:31 صبح
  3. سوال: دلیل خطای there is no gdb binary available for 'Microsoft Visual C++‎ چیست؟
    نوشته شده توسط baghaei20 در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 1
    آخرین پست: سه شنبه 06 اردیبهشت 1390, 09:47 صبح
  4. There is no row at position n
    نوشته شده توسط resident در بخش C#‎‎
    پاسخ: 6
    آخرین پست: شنبه 20 بهمن 1386, 08:48 صبح
  5. There is no source code available for the current location
    نوشته شده توسط searchman در بخش VB.NET
    پاسخ: 10
    آخرین پست: پنج شنبه 27 دی 1386, 01:04 صبح

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

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