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

نام تاپیک: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    197

    Question مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    باسلام خدمت دوستان عزیزم.
    من در فرم ثبت یه دیتاگرید دارم که می خوام همزمان با ثبت،اطلاعات ثبت شده را در دیتاگرید ببینم.این برنامه با کمک storeproceture کار می کنه که من دیتابیس و پروسیچرشو در همون محیط سی شارپ ایجاد کردم.کدم خطا داره.اولا که اصلا عمل ثبت را انجام نمی ده و مطمئنم که در دستور cmd.parameter.add("@Name",sqldbtype.nvarchar,50).v alue=dgv.currentrow.cell["Name"].tostring();
    و مشابه اینها که در زیر نوشتم مشکل داره و دوما خطای زیر را هم می ده:
    روی کد بالا زرد رنگ پیغام : "object reference not set to an instance of an object" مشاهده می شه.اینم کدهام:

    private void btnsave_Click(object sender, EventArgs e)
    {
    SqlConnection cn = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    cn.ConnectionString = "server=HAMED-PC;Database=Farafan;trusted_connection=true;";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "dbo.Psave";

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = dgv.CurrentRow.Cells["Name"].ToString();
    cmd.Parameters.Add("@FName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FName"].ToString();
    cmd.Parameters.Add("@FatherName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FatherName"].ToString();
    cmd.Parameters.Add("@DateBirth", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateBirth"].ToString();
    cmd.Parameters.Add("@DateEmployee", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateEmployee"].ToString();
    cmd.Parameters.Add("@Phone", SqlDbType.VarChar, 50).Value = dgv.CurrentRow.Cells["Phone"].ToString();
    cmd.Parameters.Add("@Cellphone", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["Cellphone"].ToString();
    cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 150).Value = dgv.CurrentRow.Cells["Address"].ToString();

    da.Fill(dt);
    dgv.DataSource = dt;

    MessageBox.Show("Information was Saved Succsessfully", "Insert Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    لطفا راهنماییم کنید.

  2. #2
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    سلام
    currentRow فقط در صورتی nulll نیست که حتما یه سطر از گرید انتخاب شده باشه .
    یه احتمال دیگه هم هست که شاید گرید شما ستونی بهنام name نداشته باشه .
    موفق باشید ./

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    197

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    نقل قول نوشته شده توسط M.YasPro مشاهده تاپیک
    سلام
    currentRow فقط در صورتی nulll نیست که حتما یه سطر از گرید انتخاب شده باشه .
    یه احتمال دیگه هم هست که شاید گرید شما ستونی بهنام name نداشته باشه .
    موفق باشید ./
    پس می شه بهم بگید باید کدهای مربوط به پروسیچر و دیتاگریدمو چطور بنویسم؟

  4. #4

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    سلام
    دوست عزيز ، كدهاتونو بين تك code (از نوار ابزار بالا ) قرار بديد تا بهتر قابل خوندن باشه

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = dgv.CurrentRow.Cells["Name"].ToString();

    از اين شيوه نوشتن چيزي نميدونم ولي از اين روش استفاده كنيد ببينيد چي ميشه :


    cmd.Parameters.AddWithValue("Age", txtAgeSearch.Text);

    موفق باشيد

    شما استوردپروسيجر را چطور استفاده كرديد ؟
    من كه در كدتون نام پروسيجر را نديد مثلا


    string sql = "sp_Persons_SelectRowByAge";

    SqlCommand cmd = new SqlCommand(sql, connection);


  5. #5
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    من در فرم ثبت یه دیتاگرید دارم که می خوام همزمان با ثبت،اطلاعات ثبت شده را در دیتاگرید ببینم
    شما می خواید اطلاعاتی رو که توی گرید وارد شده در دیتابیس ثبت کنید ؟ یا بعد از ثبت ، رکورد ثبت شده رو به گرید اضافه کنید ؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    197

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    نام پروسیچرم "dbo.Psave" در خط پنجم برنامه هست.مشکل باید بین دستورات خط 6 تا 13 باشه.اگه بازم نیاز به توضیح است بفرمایید تا بیشتر توضیح بدم.
    در آخر برنامه ام را ضمیمه کردم.



    SqlConnection cn = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    cn.ConnectionString = "server=HAMED-PC;Database=Farafan;trusted_connection=true;";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "dbo.Psave";

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = dgv.CurrentRow.Cells["Name"].ToString();
    cmd.Parameters.Add("@FName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FName"].ToString();
    cmd.Parameters.Add("@FatherName", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["FatherName"].ToString();
    cmd.Parameters.Add("@DateBirth", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateBirth"].ToString();
    cmd.Parameters.Add("@DateEmployee", SqlDbType.DateTime2, 7).Value = dgv.CurrentRow.Cells["DateEmployee"].ToString();
    cmd.Parameters.Add("@Phone", SqlDbType.VarChar, 50).Value = dgv.CurrentRow.Cells["Phone"].ToString();
    cmd.Parameters.Add("@Cellphone", SqlDbType.NVarChar, 50).Value = dgv.CurrentRow.Cells["Cellphone"].ToString();
    cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 150).Value = dgv.CurrentRow.Cells["Address"].ToString();

    da.Fill(dt);
    dgv.DataSource = dt;

    MessageBox.Show("Information was Saved Succsessfully", "Insert Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }



    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    سوال من رو جواب ندادید .
    کدتون رو دیدم
    شما باید اطللاعات رو از textBox ها بگیرید نه از گرید.
    مثلا به اینصورت :

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar,50).Value = txtName.Text;

    نمونه های زیادی روی سایت هست .
    موفق باشید ./

  8. #8

    نقل قول: مشاهده ثبت اطلاعات در دیتاگرید در runtime با کمک storeproceture

    به اين نگاه كنيد جواب ميده
    فایل های ضمیمه فایل های ضمیمه

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

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