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

نام تاپیک: اشکال در اتصال به اکسس(Access)

  1. #1

    Question اشکال در اتصال به اکسس(Access)

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


    conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\MDB.mdb"
    OleDbConnection myConnecation = new OleDbConnection(conString);
    myCommand.Connection = oleDbConnection1;
    oleDbConnection1.Open();
    myCommand.CommandText = "INSERT INTO Table (ID, [first name], [secound name]) VALUES ( "+ this.Id.Text +" ," + this.first_name.Text + "," + this.last_name.Text + ")";
    myCommand.ExecuteNonQuery();
    oleDbConnection1.Close();


    لطفاً اشکالش بگین یا راه بهتری هست کدش برام بزارید.

    پایدار باشید

  2. #2
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    سلام
    تک کتیشت برای فیلدهای استرینگ رو نگذاشتی:

    myCommand.CommandText = "INSERT INTO Table (ID, [first name], [secound name]) VALUES ( "+ this.Id.Text +" ,'" + this.first_name.Text + "','" + this.last_name.Text + "')";

  3. #3
    نقل قول نوشته شده توسط ahmadahmadi مشاهده تاپیک
    یا راه بهتری هست کدش برام بزارید.
    راه بهتر اینه که از ACCESS کوچ کنی به SQL SERVER و همچنین از command های text به command type های store proceure کوچ کنی

    البته توی access هم میتونی store procedure تعریف کنی اما امکاناتی که SQL بهت میده را از دست خواهی داد

    اگه یه وقت هوس کوچ کردن به SQL به سرت زد بگو تا روش استفاده از چیزهایی که گفتم را برات بگم گرچه مثال های زیادی وجود داره

    اگه برنامت خیلی کوچیکه پیشنهتد میکنم باز هم به جای ACCESS از XML استفاده کنی

    ببخشید یادم رفت بگم
    یه انتخاب دیگه هم دارین که در گیر این متن های command نشین که دائم کوتیشن ها و.... قاطی بشن
    اون استفاده از sqlparameter ها هستند
    موفق باشید
    آخرین ویرایش به وسیله gomnam : دوشنبه 26 شهریور 1386 در 13:37 عصر دلیل: تکمیل

  4. #4
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    نقل قول نوشته شده توسط gomnam مشاهده تاپیک
    راه بهتر اینه که از ACCESS کوچ کنی به SQL SERVER و همچنین از command های text به command type های store proceure کوچ کنی

    البته توی access هم میتونی store procedure تعریف کنی اما امکاناتی که SQL بهت میده را از دست خواهی داد

    اگه یه وقت هوس کوچ کردن به SQL به سرت زد بگو تا روش استفاده از چیزهایی که گفتم را برات بگم گرچه مثال های زیادی وجود داره

    اگه برنامت خیلی کوچیکه پیشنهتد میکنم باز هم به جای ACCESS از XML استفاده کنی
    تنها برای نمونه :‌چطور به سادگی دیتابیس ها (از Access‌ بگیر تا Oracle) با XML‌ چند تا جدول رو با هم join‌می کنی .

  5. #5
    نقل قول نوشته شده توسط MH2538 مشاهده تاپیک
    تنها برای نمونه :‌چطور به سادگی دیتابیس ها (از Access‌ بگیر تا Oracle) با XML‌ چند تا جدول رو با هم join‌می کنی .
    بنده هم همون اول گفنم که تشریف ببرن SQL
    همچنین گفتم که توی همون اکسس هم موتونن کارشون را راه بیاندازن
    ودر ضمن گفتم اگه برنامه خیلی کوچیکه از xml
    توی برنامه های خیلی کوچیک فکر نمیکنم اونقدر نیاز به join و اعمال دیگه با اشد مجازات داشته باشین
    پر واضحه که برای کارهای حرفه ای زحمت حرفه ای هم باید کشید
    کار نشد نداره

    ونکته آخر اینکه همیشه باید سعی کرد تمامی را ه حل ها را پیشنهاد داد و مزایا و معایب اونا را در حد امکان گفت و اون شخص را به سمت مسیر بهتر (دقت کنید مسیر بهتر) هدایت کرد
    و پست قبلی من هم در همین راستا بود

  6. #6
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    نقل قول نوشته شده توسط ahmadahmadi
    لطفاً اشکالش بگین یا راه بهتری هست کدش برام بزارید.
    اگر فیلد ID از نوع Auto Number هست، در حین INSERT نباید مقداری برای این فیلد در نظر بگیرید، چونکه مقدارش بصورت Automatic ایجاد میشه.
    همچنین همانطور که MH2538 گفتند، رشته ها در داخل علامت ' قرار میگیرند.

  7. #7
    نقل قول نوشته شده توسط PC2st.ir مشاهده تاپیک
    اگر فیلد ID از نوع Auto Number هست، در حین INSERT نباید مقداری برای این فیلد در نظر بگیرید، چونکه مقدارش بصورت Automatic ایجاد میشه.
    همچنین همانطور که MH2538 گفتند، رشته ها در داخل علامت ' قرار میگیرند.
    منون استاد مشکل سر علامت ' نیست با اون هم امتحان کردم ارور نمی ده در ضمن ID رو Auto Number نذاشتم

    همه اساتید ببخشید این چیزا که شما گفتید رو من می دونم چون من مبتدی صفر نیستم
    در ضمن من تمام برنامه هام با SQL Server می نویسم اما می خوام اکسس یاد بگیرم
    این کد error نمی ده اما Insert هم نمی کنه اگه کد نمونه برای کانت شدن به اکسس و Insert کردن دارین برام بزارین، منون

    پایدار باشید.

  8. #8
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    در ضمن من تمام برنامه هام با SQL Server می نویسم اما می خوام اکسس یاد بگیرم
    کار خوبی میکنید.


    این کد error نمی ده اما Insert هم نمی کنه اگه کد نمونه برای کانت شدن به اکسس و Insert کردن دارین برام بزارین، منون
    پس مطمئن باشید که عملیات INSERT کردن صورت گرفته.

    لطفا بعد از INSERT کردن سریعا یک SELECT هم بگیرید و ببینید که آیا در اون لحظه رکورد اضافه شده؟

    اگر رکورد اضافه شده بود، یعنی اینکه پس از بسته شدن برنامه، دوباره اطلاعات به حالت اول بر میگرده و در اینصورت باید خاصیت Copy to output directory رو تنظیم کنید.
    ممکنه این موارد رو خودتون میدونسته باشین، ولی بهرحال گفتن این موارد بهتر از نگفتنش بود

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188
    امید وارم به دردت بخوره

    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|datadirectory|\\database\\PhoneBook.mdb");
    .....
    //insert
    OleDbCommand command1 = new OleDbCommand("insert into tell (row,fname) values ('" + int.Parse(textBox1.Text.Trim()) + "','" + textBox2.Text.Trim() + "')", con);
    con.Open();
    command1.ExecuteNonQuery();
    con.Close();
    MessageBox.Show(".اطلاعات شخص جدید ثبت شد", "اطلاع", MessageBoxButtons.OK, MessageBoxIcon.Information);

  10. #10
    نقل قول نوشته شده توسط PC2st.ir مشاهده تاپیک
    یعنی اینکه پس از بسته شدن برنامه، دوباره اطلاعات به حالت اول بر میگرده و در اینصورت باید خاصیت Copy to output directory رو تنظیم کنید.

    درود و صد بدرود بر مردمان ایران زمین
    منون استاد نکته شما درست بود در مورد کپی کردن اما یک اشکال دیگه هم بود کد اصلاح شده دز زیر گذاشتم

    OleDbConnection myConnecation = new OleDbConnection(conString);
    OleDbCommand myCommand = new OleDbCommand();
    myConnecation.Open();
    myCommand = myConnecation.CreateCommand();
    myCommand.CommandText = "INSERT INTO myTable (ID) VALUES ( '" + 10+ "')";
    myCommand.ExecuteNonQuery();
    myConnecation.Close();

    پایدار باشید

  11. #11
    نقل قول نوشته شده توسط *unos* مشاهده تاپیک
    امید وارم به دردت بخوره
    منون از توجهتون اما کد شما نیاز به این خط هم داره من قبلا امتحان کردم و کار نکرد نمی دونم برای شما کار کرده یا نه

    myCommand = myConnecation.CreateCommand();


    پایدار باشید.

  12. #12
    نقل قول نوشته شده توسط *unos* مشاهده تاپیک
    امید وارم به دردت بخوره
    منون از توجهتون اما کد شما نیاز به این خط هم داره من قبلا امتحان کردم و کار نکرد نمی دونم برای شما کار کرده یا نه

    myCommand = myConnecation.CreateCommand();


    پایدار باشید.

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

  1. معرفی کتب آموزشی MS Access
    نوشته شده توسط koli در بخش Access
    پاسخ: 20
    آخرین پست: شنبه 31 فروردین 1392, 19:58 عصر
  2. کدنویسی در access
    نوشته شده توسط noosha_t در بخش Access
    پاسخ: 3
    آخرین پست: شنبه 04 اسفند 1386, 17:27 عصر
  3. inbound access list & out bound access list
    نوشته شده توسط soroosh_i58 در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: جمعه 29 اردیبهشت 1385, 10:55 صبح

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

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