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

نام تاپیک: خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس

  1. #1

    خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس

    سلام.
    من می خوام داده های داخل gridview رو وارد دیتابیسم کنم.از دستور insert استفاده کردم ولی خطا میده.کدشو میزارم ببینید ایرادی داره؟

    for (int count = 0; count < dataGridView1.Rows.Count; count++)
    {

    string ID = dataGridView1.Rows[count].Cells["ID"].Value.ToString();
    string namekala = dataGridView1.Rows[count].Cells["namekala"].Value.ToString();
    OleDbCommand comm = new OleDbCommand();
    comm.Connection = con;
    comm.CommandText = "INSERT INTO detailsprint (id,name-kala) VALUES (@p1,@p2)";
    comm.Parameters.Clear();
    comm.Parameters.AddWithValue("@p1", ID);
    comm.Parameters.AddWithValue("@p2", namekala);
    con.Open();
    comm.ExecuteNonQuery();
    con.Close();
    }
    خطایی که میده:
    syntax error in insert into statment

  2. #2
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس



    for (int count = 0; count < dataGridView1.Rows.Count; count++)
    {

    string ID = dataGridView1.Rows[count].Cells["ID"].Value.ToString();
    string namekala = dataGridView1.Rows[count].Cells["namekala"].Value.ToString();
    OleDbCommand comm = new OleDbCommand();
    comm.Connection = con;
    comm.CommandText = "INSERT INTO detailsprint (id,[name-kala]) VALUES (@p1,@p2)";
    comm.Parameters.Clear();
    comm.Parameters.AddWithValue("@p1", ID);
    comm.Parameters.AddWithValue("@p2", namekala);
    con.Open();
    comm.ExecuteNonQuery();
    con.Close();
    }


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

  3. #3

    نقل قول: خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس

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


    for (int count = 0; count < dataGridView1.Rows.Count; count++)
    {

    string ID = dataGridView1.Rows[count].Cells["ID"].Value.ToString();
    string namekala = dataGridView1.Rows[count].Cells["namekala"].Value.ToString();
    OleDbCommand comm = new OleDbCommand();
    comm.Connection = con;
    comm.CommandText = "INSERT INTO detailsprint (id,[name-kala]) VALUES (@p1,@p2)";
    comm.Parameters.Clear();
    comm.Parameters.AddWithValue("@p1", ID);
    comm.Parameters.AddWithValue("@p2", namekala);
    con.Open();
    comm.ExecuteNonQuery();
    con.Close();
    }


    البته جواب این سوال رو کامل دادم ولی چون چند بار کروم کرش کرد پرید فعلا اینو امتحان کنید
    ممنون خطای قبلی رو نمیده ولی یه خطای جدید میده:
    قسمت پر کردن ID :
    Object reference not set to an instance of an object.

  4. #4
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس

    اگه بتونید debug کنید راحت این موضوع رو متوجه می شید. هر جایی که احتمال null بودن وجود داره قبلش باید شرط null بودن رو چک کنید

    string ID = dataGridView1.Rows[count].Cells["ID"].Value.ToString();

    در کد بالا قبل از ToString کردن باید چک کنید که value مقدارش null نباشه! اگه null هست باید پیغام مناسب بدین که ID مقدار دهی نشده است

  5. #5

    نقل قول: خطای دستور insert هنگام اضافه کردن یه رکورد به بانک اکسس

    نقل قول نوشته شده توسط gwbasic مشاهده تاپیک
    اگه بتونید debug کنید راحت این موضوع رو متوجه می شید. هر جایی که احتمال null بودن وجود داره قبلش باید شرط null بودن رو چک کنید

    string ID = dataGridView1.Rows[count].Cells["ID"].Value.ToString();

    در کد بالا قبل از ToString کردن باید چک کنید که value مقدارش null نباشه! اگه null هست باید پیغام مناسب بدین که ID مقدار دهی نشده است
    بله درسته خطا به دلیل null بودن رخ می ده.ولی متوجه نمی شم.من قبلا اطلاعات رو از طریق یه button وارد دیتاگرید کردم و می خوام توسط یه کلید دیگه این اطلاعات رو وارد دیتابیسم کنم.دیتاگریدم پر شده نمیدونم چرا خطای null بودن میده؟

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

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