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

نام تاپیک: ثبت بیش از 1 رکورد در پایگاه داده

  1. #1
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    ثبت بیش از 1 رکورد در پایگاه داده

    با سلام

    من میخوام که اطلاعات رو در دیتاگراید ویو وارد کنم بیشتر از 1 باشه و برای این کار میخوام در یک پنل مثلا مشخصات کلی رو وارد کنم و تعداد رو هم بنویسم و اگه ok رو زدم اطلاعات در دیتاگراید ویو نمایش داده بشه(مثلا اگه 20 رو انتخاب کردم 20 ردیف با اطلاعاتی که در پنل نوشته بودم رو به دیتا گرید ویو اضافه کنه)و پس از آن اگه دکمه ثبت رو زدم این اطلاعات در بانک ذخیره بشه.
    ممنون میشم راهنماییم کنید.

  2. #2
    کاربر دائمی آواتار s.khoshfekran
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    503

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    از یه حلقه استفاده کن!! با SP هم میتونی کار کنی

  3. #3
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    اگه با مثال بگید خوب میشه!

  4. #4
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    سلام.
    به برنامه نمونه واست گذاشتم.
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

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

  6. #6
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    من از این کد استفاده میکنم وقتی بخوام یکیشو ثبت کنم درسته ولی واسه بیش از یکی این خطا رو میده.

    The variable name '@Fname' has already been declared. Variable names must be unique within a query batch or stored procedure.
    و برای ثبت از این کد استفاده میکنم.


    string sqlconnection = "Data Source=.;Initial Catalog=Personel;Integrated Security=True";
    SqlConnection Scon;
    Scon = new SqlConnection(sqlconnection);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = Scon;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "insert into TblPersonel (Fname,Lname) values (@Fname,@Lname)";
    Scon.Open();
    for (int i = 0; i < dataGridView2.RowCount-1; i++)
    {

    cmd.Parameters.AddWithValue("@Fname", dataGridView2.Rows[i].Cells[1].Value.ToString());
    cmd.Parameters.AddWithValue("@Lname", dataGridView2.Rows[i].Cells[2].Value.ToString());
    cmd.ExecuteNonQuery();

    }
    Scon.Close();

  7. #7
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    شما در اين كد، به اندازه ي حلقه، پارامتر با نام هاي يكسان ميخواهيد به كامند اضافه كنيد.
    اول بايد يكبار بيرون از حلقه پارامتر را اضافه كنيد. بعد داخل حلقه فقط مقدار بدهيد.
                cmd.Parameters.AddWithValue("@fname",textBox1.Text  );
    cmd.Parameters.AddWithValue("@lname", textBox2.Text);
    cnn.Open();
    cmd.ExecuteNonQuery();
    for (int i = 1; i < dataGridView1.RowCount - 1; i++)
    {
    cmd.Parameters[0].Value = dataGridView1.Rows[i].Cells[0].Value.ToString();
    cmd.Parameters[1].Value = dataGridView1.Rows[i].Cells[1].Value.ToString();
    cmd.ExecuteNonQuery();

    }
    cnn.Close();
    آخرین ویرایش به وسیله spring69 : دوشنبه 03 خرداد 1389 در 17:09 عصر دلیل: كد اشتباه

  8. #8
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    به این شکل تغییر دادم حالا


    cmd.Parameters.Add("@Fname");
    cmd.Parameters.Add("@Lname");
    Scon.Open();
    for (int i = 0; i < dataGridView2.RowCount - 1; i++)
    {


    cmd.Parameters[0].Value = dataGridView2.Rows[i].Cells[1].Value.ToString();
    cmd.Parameters[1].Value = dataGridView2.Rows[i].Cells[2].Value.ToString();
    cmd.ExecuteNonQuery();

    }
    Scon.Close();


    خطایی که میده اینه.
    The SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects.

  9. #9
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

    نقل قول: ثبت بیش از 1 رکورد در پایگاه داده

    ببخشيد.
    همون پست رو ويرايش كردم.

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

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