PDA

View Full Version : سوال: دسترسی به دیتابیس



hadi vafaii
جمعه 03 مرداد 1393, 21:39 عصر
سلام میخواستم بدونم میشه کاری کرد که دیتابیس(اکسس)جوری رو تنظیم بکنم که فقط از طریق نرم افزار بشه تغییرات رو روش انجام داد و قابل حذف هم نباشه:متفکر:
اگه میشه چجوری

Pedram_Parsian
جمعه 03 مرداد 1393, 22:21 عصر
سلام میخواستم بدونم میشه کاری کرد که دیتابیس(اکسس)جوری رو تنظیم بکنم که فقط از طریق نرم افزار بشه تغییرات رو روش انجام داد و قابل حذف هم نباشه:متفکر:
اگه میشه چجوری

برای این که بشه فقط از دورن نرم افزار در دیتابیس تغییرات داد باید روی دیتابیس اکسس رمز قرار بدین .....
برای این که قابل حذف هم نباشه (یه کم سخته ... :لبخند: ) باید یه ویندوز سرویس بنویسی که این کار رو انجام بده ...

hadi vafaii
جمعه 03 مرداد 1393, 23:06 عصر
برای این که بشه فقط از دورن نرم افزار در دیتابیس تغییرات داد باید روی دیتابیس اکسس رمز قرار بدین .....
برای این که قابل حذف هم نباشه (یه کم سخته ... :لبخند: ) باید یه ویندوز سرویس بنویسی که این کار رو انجام بده ...

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

Pedram_Parsian
جمعه 03 مرداد 1393, 23:22 عصر
خب حالا پسورد گذاشتم اما از نرم افزار چجوری بهش دسترسی پیدا کنم :لبخند: اجرا که میکنم پس میخواد
بعدش ویندوز سرویس چیه:خجالت: و چجوری بنویسم:متفکر:

خوب داخل کانکشن استریگ پسورد هم قرار بده دیگه !

یه راه ساده تر هم هست البته بستگی به نرم افزار شما داره .... نرم افزار شما چیه ؟

hadi vafaii
جمعه 03 مرداد 1393, 23:30 عصر
خوب داخل کانکشن استریگ پسورد هم قرار بده دیگه !

یه راه ساده تر هم هست البته بستگی به نرم افزار شما داره .... نرم افزار شما چیه ؟

مرسی که وقت میذاری و جواب میدی
یه برنامه واسه ثبت کد و کالا
چجوری تو کانکشنم پس رو بذارم ؟من مبتدیم:خجالت: یکم بیشتر توضیح بدین لطفا و اگه بشه کد بزار

hadi vafaii
شنبه 04 مرداد 1393, 00:07 صبح
کسی نبود کمک کنه:افسرده:

Pedram_Parsian
شنبه 04 مرداد 1393, 00:23 صبح
مرسی که وقت میذاری و جواب میدی
یه برنامه واسه ثبت کد و کالا
چجوری تو کانکشنم پس رو بذارم ؟من مبتدیم:خجالت: یکم بیشتر توضیح بدین لطفا و اگه بشه کد بزار

کانکشن استریگ شما باید به صورت زیر باشه :

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword

در ضمن پیشنهاد می کنم اگه برنامه ای که می نویسید قرار هست در آینده تجاری بشه و ... از دیتابیس SQL استفاده کنید :چشمک:

به جای مرسی هم میتونید از تشکر استفاده کنید :خجالت:

hadi vafaii
شنبه 04 مرداد 1393, 00:32 صبح
کانکشن استریگ شما باید به صورت زیر باشه :

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword

در ضمن پیشنهاد می کنم اگه برنامه ای که می نویسید قرار هست در آینده تجاری بشه و ... از دیتابیس SQL استفاده کنید :چشمک:

به جای مرسی هم میتونید از تشکر استفاده کنید :خجالت:

معلوم نیست بشه یا نه بعدشم آخه sql رو بخوای رو سیستم نصب کنی هم مشکله هم یکی نوشتم خواستم تست کنم همش ارور میداد و نمی تونست دیتابیس رو پیدا کنه
ممنون از کمکی که کردین:قلب::بوس:

hadi vafaii
شنبه 04 مرداد 1393, 00:33 صبح
راستی نگفتین چجوری ویندوز سرویس بنویسم

Pedram_Parsian
شنبه 04 مرداد 1393, 00:40 صبح
راستی نگفتین چجوری ویندوز سرویس بنویسم

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

var fs = File.Open(@"C:\temp\file.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
MessageBox.Show("File Locked"); // While the messagebox is up, try to open or delete the file.
// Do your work here
fs.Close();

Pedram_Parsian
شنبه 04 مرداد 1393, 00:44 صبح
فکر کنم اگه خط آخر رو قرار ندید دیگه فایل قفل باقی بمونه :لبخند:

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

خیلی ساده بخوام توضیح بدم ویندوز سرویس در حقیقت یه سری کد هست که اجرا میشه ولی در پشت پرده :شیطان:
(البته کاربر اگه حرفه ای باشه میتونه با Task Manager اون ها رو Stop و بعد فایل رو پاک کنه :چشمک:)

hadi vafaii
شنبه 04 مرداد 1393, 00:46 صبح
حسابی زحمتتون دادما اما این کد رو کجا وارد کنم عزیزم با یه مبتدی که حتی نمیشه جوجه برنامه نویسم گفت طرفی :خجالت:
بعدش مگه دیتابیس اکسس باشه بعدا نمیشه رو sql انتقال داد:متفکر:

Pedram_Parsian
شنبه 04 مرداد 1393, 00:50 صبح
حسابی زحمتتون دادما اما این کد رو کجا وارد کنم عزیزم با یه مبتدی که حتی نمیشه جوجه برنامه نویسم گفت طرفی :خجالت:
بعدش مگه دیتابیس اکسس باشه بعدا نمیشه رو sql انتقال داد:متفکر:

:متفکر:
کد قفل کردن فایل رو می تونید در رویداد لود شدن فرم بنویسید ...
بعدا میشه دیتا های دیتابیس اکسس رو انتقال داد به SQL ولی برای وارد کردن اطلاعات در SQL کاملا کد هاش با اکسس فرق داره ...

hadi vafaii
شنبه 04 مرداد 1393, 00:58 صبح
من اینجوری نوشتم تو لود برنامه ببینین درسته یا نه



var fr = File.Open("provider=microsoft.jet.oledb.4.0;data source=|datadirectory|\\db.mdb;Jet OLEDB:Database Password=123", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
MessageBox.Show("این فایل را نمی توانید حذف نمایید");
fr.Close();

hadi vafaii
شنبه 04 مرداد 1393, 01:30 صبح
پیشنهاد می کنم توی سایت های خارجی دنبالش بگردید ... چون من هم چند وقت پیش کلی گشتم توی سایت های فارسی چیز خاصی وجود نداره ... :ناراحت:
ولی برنامه شما تا جایی که من فهمیدم نیازی نداره که ... :لبخندساده:
ولی میشه با این کد فایل رو قفل کنید :
(وقت نداشتم امتحان کنم :لبخند: خودتون تست کنید ببینید بعد از بستن برنامه باز هم قفل هست یا نه ... )

var fs = File.Open(@"C:\temp\file.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
MessageBox.Show("File Locked"); // While the messagebox is up, try to open or delete the file.
// Do your work here
fs.Close();


بازم پاک میشه :ناراحت:
کسی نیست کمک کنه:گریه:

hadi vafaii
شنبه 04 مرداد 1393, 13:36 عصر
سلام خدمت تمام دوستان کسی نبود کمک کنه از دیشب این تایپیک رو گذاشتم
:افسرده:

Pedram_Parsian
شنبه 04 مرداد 1393, 15:20 عصر
من اینجوری نوشتم تو لود برنامه ببینین درسته یا نه



var fr = File.Open("provider=microsoft.jet.oledb.4.0;data source=|datadirectory|\\db.mdb;Jet OLEDB:Database Password=123", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
MessageBox.Show("این فایل را نمی توانید حذف نمایید");
fr.Close();
:عصبانی::عصبانی++::عصبانی:
دوست عزیز شما کلا این دو تا مسئله رو بد متوجه شدید
شما کانکشن استرینگ رو می خوای قفل کنی که پاک نشه :متعجب:؟
شما باید آدرس دیتابیس رو قرار بدی نه کانکشن استرینگ رو ....

hadi vafaii
شنبه 04 مرداد 1393, 16:00 عصر
:عصبانی::عصبانی++::عصبانی:
دوست عزیز شما کلا این دو تا مسئله رو بد متوجه شدید
شما کانکشن استرینگ رو می خوای قفل کنی که پاک نشه :متعجب:؟
شما باید آدرس دیتابیس رو قرار بدی نه کانکشن استرینگ رو ....

خب این که عصبانیت نداره:لبخند:اینجوری اگه نرم افزار رو سیستم طرف نصب شه دیتابیس شاید اونجایی که آدرس دادم نباشه:متفکر: اون وقت پاک نمیشه؟

Pedram_Parsian
شنبه 04 مرداد 1393, 21:38 عصر
خب این که عصبانیت نداره:لبخند:اینجوری اگه نرم افزار رو سیستم طرف نصب شه دیتابیس شاید اونجایی که آدرس دادم نباشه:متفکر: اون وقت پاک نمیشه؟

دوست عزیز :
این کدی که من گفتم میاد فایل رو قفل می کنه و تا زمانی فایل قفل هست که برنامه شما باز باشه (البته فکر کنم )
شما هم وقتی می خوای برنامه رو روی سیستم مشتری نصب کنی باید دیتابیس شما در یک مسیر ثابت و مشخص قرار گرفته شده باشه (مثلا در فولدر Program File در درایو C) که بتونی با این کد قفلش کنی :لبخند: