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

نام تاپیک: مشکل در هنگام insert کردن

  1. #1

    مشکل در هنگام insert کردن

    با سلام
    من یه کلاس ساختم بعد یه رشته به عنوان کوئری بهش پاس میکنم
    ولی روی دستور DB.cmd.ExecuteNonQuery();
    این ارور رو بهم میده
    An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
    لطفا راهنمایی کنید
    باتشکر فراوان

  2. #2

    نقل قول: مشکل در هنگام insert کردن

    کدتون رو قرار بدین.اگر موقع سلکت و اجرای بقیه دستورات مشکل ندارین، فقط sqlcomman رو اینجا بزارین تا ببینم مشکل چیه

  3. #3

    نقل قول: مشکل در هنگام insert کردن

    این کلاسیه که تعریف کردم

    class DB
    {
    public static SqlConnection con = new SqlConnection("SERVER=.; DataBase=db; Integrated Security = True");
    public static SqlDataAdapter da = new SqlDataAdapter("", con);
    public static DataTable dt = new DataTable();
    public static SqlCommand cmd = new SqlCommand("", con);

    public static DataTable exec(string s)
    {
    DataTable dt = new DataTable();

    DB.cmd.CommandText = s;

    if (DialogResult.No == MessageBox.Show("آیامطمئنید؟", "هشدار", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign))
    return dt;

    DB.con.Open();
    DB.cmd.ExecuteNonQuery();
    DB.con.Close();

    DB.da.Fill(dt);

    return dt;
    }


    واین هم کامندی که براش میفرستم


    private void button1_Click(object sender, EventArgs e)
    {
    s = "insert into project Values(";
    s += projectsubject.Text + " , ";
    s += comboBox1.SelectedItem + " , ";
    s += comboBox2.SelectedItem + " , ";
    s += textBox7.Text + " , '";
    s += textBox2.Text + "' , '";
    s += textBox5.Text + "' , '";
    s += textBox3.Text + "' , '";
    s += textBox4.Text + "')";
    dt = DB.exec(s);
    }

  4. #4
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: مشکل در هنگام insert کردن

    مگه میشه insert رو توی دیتا تیبل برگردوند؟؟؟
    یه مشکل دیگه هم کدتون داره که خودم تست کردم
    اینجا اومدید اینطور تعریف کردید
    public static SqlDataAdapter da = new SqlDataAdapter("", con);


    بعدش آخر کار
    DB.da.Fill(dt);


    الان با این نوع تعریف دستوری ست نکردید که بخواد اجرا کنه

  5. #5

    نقل قول: مشکل در هنگام insert کردن

    دوست عزیز میشه منو راهنمایی کنی
    الان دقیقا باید چه کاری کنم؟

    باتشکر

  6. #6
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: مشکل در هنگام insert کردن

    چون خطایی که می گید روی
    DB.cmd.ExecuteNonQuery();
    می گیره به نظرم کوئریتون رو یه چک بکنید بخصوص نوع فیلدهاتون... چون دستورش که خطا نداره و اگه احیانا تعداد فیلدهای کوئری کمتر از جدول باشه باید اسامی فیلدهاتون رو هم بیارید تو کوئری. بهتره یه نما از جدول بزارید شاید بهتر بشه راهنمایی کرد.

    و در مورد این کلاس هم به نظرم بهتره یه تابع برای select بنویسید که datatable برگردونه و یه تابع هم برای insert,update,delete.

  7. #7
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: مشکل در هنگام insert کردن

    همان طور که گفته شد کد شما دارای ایرادات زیادی است.
    اول: این کد دستور نداره sqlDataAdaptor بدون دستور یعنی چه؟ ""
    public static SqlDataAdapter da = new SqlDataAdapter("", con);


    دوم: DataTable رو در دو جا تعریف کردی یکی سراسری و یکی محلی. اگه به سراسری نیازی نیست حتما بردارید چون بیهوده فضا مصرف می کنه.
    public static DataTable dt = new DataTable();


    سوم:sqlCommand بدون دستور! پس چه درخواستی از پایگاه داری؟ دستورت باید در sqlcommand باشه. "" خالی
    public static SqlCommand cmd = new SqlCommand("", con);


    چهارم:در دستور insert مشکل وجود داره. نام ستون های جدول project باید آورده شود. مثلا:
    insert into project(column1,column2,..) values(value1,value2,...)

    s = "insert into project Values(";


    پنجم: اصلا تعریف کلاس به دین شکل کار قشنگی نیست. شما مقادیر اصلی و ثابت اتصال به پایگاه رو در یک کلاس قرار بدی و بر اساس اون عملیات درج و حذف و ... رو انجام بدی و بعدا در dataTable بر اساس نیاز قرار بدی.

  8. #8
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: مشکل در هنگام insert کردن

    مواردی که دوستمون گفتن درسته فقط من مورد سومش رو اصلاح کنم
    DB.cmd.CommandText = s;

    دوستمون naghneh این کدی رو که نوشتن دستور رو به SqlCommand اختصاص میده

  9. #9
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: مشکل در هنگام insert کردن

    نقل قول نوشته شده توسط rezafatehy مشاهده تاپیک
    مواردی که دوستمون گفتن درسته فقط من مورد سومش رو اصلاح کنم
    DB.cmd.CommandText = s;

    دوستمون naghneh این کدی رو که نوشتن دستور رو به SqlCommand اختصاص میده
    بله . منظورم اینه که اون خط دیگه لازم نیست. اگر مورد سوم رو نوشتن دیگه لازم به commandText نیست.

    موفق باشید.

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

  1. فوری : مشکل با Stored Procedueres هنگام insert کردن
    نوشته شده توسط ali2006sr در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 28 مهر 1390, 13:07 عصر
  2. فوری : مشکل با Stored Procedueres هنگام insert کردن رکورد
    نوشته شده توسط ali2006sr در بخش T-SQL
    پاسخ: 1
    آخرین پست: چهارشنبه 27 مهر 1390, 21:59 عصر
  3. فوری : مشکل با Stored Procedueres هنگام insert کردن
    نوشته شده توسط ali2006sr در بخش Maintenance Plan
    پاسخ: 0
    آخرین پست: چهارشنبه 27 مهر 1390, 21:27 عصر
  4. سوال: مشکل هنگام Insert کردن رکورد به جدول
    نوشته شده توسط اصغر (پآچ) در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 28 اردیبهشت 1387, 20:58 عصر
  5. خطا در هنگام insert کردن اطلاعات در پارادکس
    نوشته شده توسط در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: یک شنبه 21 اردیبهشت 1382, 11:21 صبح

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

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