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

نام تاپیک: فوري::::ارور عجيب در هنگام اينسرت داده به ديتابيس

  1. #1
    کاربر دائمی آواتار navid1n2000
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    سن
    38
    پست
    439

    فوري::::ارور عجيب در هنگام اينسرت داده به ديتابيس

    اين كد منه:

    SqlConnection objConnection = newSqlConnection("Server=ASAD-2DB92FD23F;Database=VamDB;Integrated Security = True");
    SqlDataAdapter objDataAdapter = newSqlDataAdapter();
    objDataAdapter.SelectCommand =
    newSqlCommand();
    objDataAdapter.SelectCommand.Connection = objConnection;
    objDataAdapter.SelectCommand.CommandText =
    "INSERT INTO Ghest (Id,ShOzviat, SalId, MahId, VztShkhs, MGhestSar, GhestVam,Asar) VALUES (@Id,@ShOzviat,@SalId,@MahId,@VztShkhs,@MGhestSar, @GhestVam,@Asar) ";
    objDataAdapter.SelectCommand.CommandType =
    CommandType.Text;
    objConnection.Open();
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@Id", SHG);
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@ShOzviat", dataGridView1.Rows[i].Cells[0].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@SalId", dataGridView1.Rows[i].Cells[7].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@MahId", dataGridView1.Rows[i].Cells[3].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@VztShkhs", dataGridView1.Rows[i].Cells[2].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@MGhestSar", dataGridView1.Rows[i].Cells[4].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@GhestVam", dataGridView1.Rows[i].Cells[5].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@Asar", "1");
    objDataAdapter.SelectCommand.ExecuteNonQuery();
    objConnection.Close();

    توي يك خط مانده به آخر اين ارور رو ميده:

    دليل چيه؟؟؟؟

  2. #2

    نقل قول: فوری::::ارور عجیب در هنگام اینسرت داده به دیتابیس

    اگه اشتباه نکنم یکی از فیلدهات Identity هست که اونم باید id باشه اگه خودت می خای مقدار کلید اصلی رو وارد کنی این خاصیت رو از بانکت ،مربوط به اون فیلدت Off کن

  3. #3
    کاربر دائمی آواتار CYCLOPS
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    یه ایران / یه تهران / یه شهرک اکباتان
    سن
    34
    پست
    1,053

    نقل قول: فوري::::ارور عجيب در هنگام اينسرت داده به ديتابيس

    زیاد ارور عجیبی نیست مشکل اینه که فیلد ID کلید اصلی جدولتونه

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

    این لیست تاپیک های ارسالی شماست :
    https://barnamenevis.org/search...archid=2008609
    نکته جالب اینکه با سرچ کلمه "فوری::::" میشه بیشتر تاپیک هاتون رو پیدا کرد

  4. #4
    کاربر دائمی آواتار navid1n2000
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    سن
    38
    پست
    439

    نقل قول: فوری::::ارور عجیب در هنگام اینسرت داده به دیتابیس

    نقل قول نوشته شده توسط CYCLOPS مشاهده تاپیک
    زیاد ارور عجیبی نیست مشکل اینه که فیلد ID کلید اصلی جدولتونه

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

    این لیست تاپیک های ارسالی شماست :
    https://barnamenevis.org/search...archid=2008609
    نکته جالب اینکه با سرچ کلمه "فوری::::" میشه بیشتر تاپیک هاتون رو پیدا کرد
    من مشكلم با شما نيست
    اما شما ..................
    شما نميدونين من كجا زندگي مي كنم
    جايي كه حتي يك نفر هم بلد نيست ايرادامو بگه
    اگر هم مزاحم شما شدم ببخشيد
    به جاتي اين بحث هاي حاشيه اي اگه امكان داشته باشه كمك كنين كسايي رو از شما مي خوان ياد بگيرن
    ممنون

  5. #5

    نقل قول: فوری::::ارور عجیب در هنگام اینسرت داده به دیتابیس

    خیلی سادست
    ببینید شما در جدول تون فیلدID انتخاب کنید سپس از پنل culomn propertis زیر مجمو عه گزینه Identity specifiation (اگه اشتباه ننوشته باشم) رو باز کنید حالا یه گزینه دارد به نام (Is identity) حالا کافی اون رو برابر با نه "no" قرار بدید.همین

  6. #6
    کاربر دائمی آواتار SamIran
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    سن
    34
    پست
    112

    نقل قول: فوری::::ارور عجیب در هنگام اینسرت داده به دیتابیس

    سلام!
    فکر کنم اگه فیلد ID را مقدار دهی نکنی حل بشه! اگرم نشد می تونی از کد زیر استفاده کنی(کلک مرغابی)
        Private Sub P(ByVal S As Boolean)
    If S Then
    Dim p(0) As DataColumn
    p(0) = DS.Tables("Main").Columns("ID")
    DS.Tables("Main").PrimaryKey = p
    Else
    DS.Tables("Main").PrimaryKey = Nothing
    DS.Tables("Main").Columns("ID").AllowDBNull = True
    End If
    End Sub
    من توی یه برنامه گیر کرده بودم چون ID کلید و Auto number بود. اگه خالی می گذاشتم خطا می گرفت که حق نداری خالی بگذاری! اگر پر می گذاشتم DB خطا می داد که Auto number هست! قبل از Insert فیلد را از کلید بودن در میاوردم و بعد از اینکه کارم تموم شد دوباره کلیدش می کردم. این کد VB هست معادل C#‎‎ اش را خودتان زحمتش را بکشید! البته برای مورد من شاید راه حل منطقی وجود داشت اما.....
    موفق باشید

  7. #7

    نقل قول: فوری::::ارور عجیب در هنگام اینسرت داده به دیتابیس

    نقل قول نوشته شده توسط navid1n2000 مشاهده تاپیک
    این کد منه:

    SqlConnection objConnection = newSqlConnection("Server=ASAD-2DB92FD23F;Database=VamDB;Integrated Security = True");
    SqlDataAdapter objDataAdapter = newSqlDataAdapter();
    objDataAdapter.SelectCommand =
    newSqlCommand();
    objDataAdapter.SelectCommand.Connection = objConnection;
    objDataAdapter.SelectCommand.CommandText =
    "INSERT INTO Ghest (Id,ShOzviat, SalId, MahId, VztShkhs, MGhestSar, GhestVam,Asar) VALUES (@Id,@ShOzviat,@SalId,@MahId,@VztShkhs,@MGhestSar, @GhestVam,@Asar) ";
    objDataAdapter.SelectCommand.CommandType =
    CommandType.Text;
    objConnection.Open();
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@Id", SHG);
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@ShOzviat", dataGridView1.Rows[i].Cells[0].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@SalId", dataGridView1.Rows[i].Cells[7].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@MahId", dataGridView1.Rows[i].Cells[3].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@VztShkhs", dataGridView1.Rows[i].Cells[2].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@MGhestSar", dataGridView1.Rows[i].Cells[4].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@GhestVam", dataGridView1.Rows[i].Cells[5].Value.ToString());
    objDataAdapter.SelectCommand.Parameters.AddWithVal ue(
    "@Asar", "1");
    objDataAdapter.SelectCommand.ExecuteNonQuery();
    objConnection.Close();
    توی یک خط مانده به آخر این ارور رو میده:

    دلیل چیه؟؟؟؟
    آقای عزیز طبق این اروری که می ده راه حل همینیه که عرض کردم حالا شاید اون فیلد نبوده یه فیلد دیگه بوده
    شما یه زحمت به خودت بده بقیرم چک کن جوابشو به ما بده.ok

  8. #8
    کاربر دائمی آواتار CYCLOPS
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    یه ایران / یه تهران / یه شهرک اکباتان
    سن
    34
    پست
    1,053

    نقل قول: فوري::::ارور عجيب در هنگام اينسرت داده به ديتابيس

    نقل قول نوشته شده توسط navid1n2000 مشاهده تاپیک
    من مشکلم با شما نیست
    اما شما ..................
    شما نمیدونین من کجا زندگی می کنم
    جایی که حتی یک نفر هم بلد نیست ایرادامو بگه
    اگر هم مزاحم شما شدم ببخشید
    به جاتی این بحث های حاشیه ای اگه امکان داشته باشه کمک کنین کسایی رو از شما می خوان یاد بگیرن
    ممنون
    دوست عزيز منم با شما مشکلي ندارم فقط اون نکته (فوري::::) برام جالب بود همين . . .
    قصد دلخور کردن شما رو هم نداشتم و اگر دلخور شديد عذر ميخوام

    جواب سوالتون رو دوستان گفتند من يه نکته اضافه کنم :
    زماني که فيلدي رو به عنوان کليد اصلي انتخاب ميکنيد و نوعش رو هم عدد ميذاريد ديگه نميتونيد در کوئري مستقيما مقدارش رو تو بانک بريزيد چون حالت Auto number پيدا ميکنه و DBMS خودش وظيفه مقدار دهي به اون رو به عهده ميگيره کافيه تو کوئريتون ID و @ID رو حذف کنيد و بقيه فيلدها رو پر کنيد اينطوري مشکل حل ميشه . . .
    موفق باشيد

  9. #9

    نقل قول: فوري::::ارور عجيب در هنگام اينسرت داده به ديتابيس

    راستی بر اساس اصول مهندسی نرم افزار نباید فیلد کلیدتون Auto number باشه شما می تونید به جای اون از کد ملی یا همچین فیلد یکتای استفاده کنید.
    پاینده باشید.

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

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