PDA

View Full Version : نحوه تغییر connection string بعد از تبدیل شدن class library به dll



Neda_Bagheri
چهارشنبه 21 دی 1390, 19:29 عصر
I have to connect to Ms Access 2010 in my project. when I use windows form application in application type it works fine, but when I change the application type to class library it gives me an error that OLEDB4.0 is not register on the local machine.
Any help will be apperciated
Thanks

AliSaeedi_v
چهارشنبه 21 دی 1390, 19:44 عصر
سلام
توی کلاس اتصال توی dllیه متغییر publicاز نوع رشته ای برای connection stringتعریف کن و مقداری بهش نده.وقتی oledbconnection رو ساختی خاصیت connectionstringش رو برابر این متغیر بساز.
وقتی dllرو اضافه کردی و یک نمونه از کلاس اتصال ساختی اینطور مقدار دهی کن.
yourclass yc=new yourclass();
yc.cs="your connection";
yc.connect();
امیدوارم مبهم نبوده باشه

Neda_Bagheri
چهارشنبه 21 دی 1390, 20:09 عصر
Mamnoon az rahnamiet. man fekr mikonam moshkel hengame sakhte oledbconnection ast. momkene manzoreton o khob motevajeh nashode basham age emkan dare daghighan begid man to class etesal chi benevisam

AliSaeedi_v
پنج شنبه 22 دی 1390, 11:46 صبح
سلام
شما در فایل dll گزینه using system.data.qledbرو اضافه کردین؟
چون این پیغام میگه این کامپوننت اضافه نشده

Neda_Bagheri
پنج شنبه 22 دی 1390, 17:06 عصر
بله اضافه شده و به نظرمن مشکل از رجیستری این dll است. و ممکن مشکل به خاطر ویندوز 64 بیتی و آفیس 32 بیتی باشه. کسی راه حلی به نظرش نمی رسه؟

AliSaeedi_v
پنج شنبه 22 دی 1390, 17:22 عصر
سلام سورس رو بذارین تا ببینم

Neda_Bagheri
پنج شنبه 22 دی 1390, 17:39 عصر
System.Data.OleDb.

OleDbConnection cn = new System.Data.OleDb.OleDbConnection();

cn.ConnectionString =

"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\neda\\M-AirLoads.mdb;" +
"Persist Security Info=False";
cn.Open();

AliSaeedi_v
پنج شنبه 22 دی 1390, 17:48 عصر
ببخشید کل برنامتون رو آپلود کنین!

Neda_Bagheri
پنج شنبه 22 دی 1390, 18:10 عصر
برنامه من API است که با Revit کار می کنه و احتمالا شما نمی توانید اجراش کنید