PDA

View Full Version : سوال در مورد ADODC



سارامجیدی
یک شنبه 07 مهر 1387, 12:31 عصر
داخل فرمها برای اینکه به یه دیتا بیس وصل بشم داخل پروپرتی ADODC میشم و کارای لازمو انجام میدم.اما الان نیاز دارم که داخل ماژول اینکارو بکنم .نمیدونم چه جوری به دیتابیسم کانکت بشم.ممنون میشم راهنماییم کنین

hamed aj
دوشنبه 08 مهر 1387, 00:51 صبح
با سلام

به چه پایگاه داده ای می خواهید متصل شوید؟ ms access , ms sql server , oracel , . . .

Danial_Yousefi
دوشنبه 08 مهر 1387, 01:36 صبح
اگر بگی که می خوای به چه نوع دیتا بیسی وصل شی بهتر می تونم راهنماییت کنم ولی در کل این پروپرتی ها رو باید مقدار دهی کنی
Adodc1.ConnectionString
Adodc1.CommandType
Adodc1.RecordSource
و در آخر هم...
Adodc1.Refresh

سارامجیدی
دوشنبه 08 مهر 1387, 08:31 صبح
میخوام به پایگاه داده SQL Server کانکت بشم.تمام مراحل رو انجام دادم اما بهم این ارور رو میده:
Runtime error'91':Object variable or with block variable not set

سارامجیدی
دوشنبه 08 مهر 1387, 12:31 عصر
میخوام به پایگاه داده SQL Server کانکت بشم.تمام مراحل رو انجام دادم اما بهم این ارور رو میده:
Runtime error'91':Object variable or with block variable not set
خواهش میکنم راهنماییم کنید...

hamed aj
دوشنبه 08 مهر 1387, 14:24 عصر
با سلام

برای اتصال به sql server باید connection string رو به شکل زیر ست کنید :




connection_string = "Provider=SQLOLEDB.1;Data Source=[server name];Persist Security Info=True;User Id=[user name];Password=[password];Initial Catalog=[Database name];Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False"



[server name] : نام سرور ، اگر تحت شبکه کار نمی کنید و محلی کار می کنید احتمالاً باید (Local) بنویسید. پرانتز ها فراموش نشود.

بقیه موارد هم روشن هست. اگر جواب نگرفتید connectio string تون رو برام بنویسید

سارامجیدی
سه شنبه 09 مهر 1387, 09:26 صبح
سلام
من Connection string به صورت زیر وارد کردم:
objcnn3.ConnectionString = ("Provider=SQLOLEDB.1;Data Source=(local);Persist Security Info=True;User Id=sa;Password=123;Initial Catalog=employee;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False")
که از خط زیر ارور میگیره:
adodc1.RecordSource = "select * from work" + yearmon
ارورشم اینه:
Runtime error'91':Object variable or with block variable not set
البته با connection string زیر هم امتحان کردم که توی فرمها جواب میده اما توی ماژول نه:
objcnn1.ConnectionString = ("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=employee;Data Source=IT20")
نمیدونم مشکلش چیه
کمکم کنید
ممنون

m_vb1386
سه شنبه 09 مهر 1387, 10:41 صبح
Tag with column collation when possible=False یعنی چی

hamed aj
سه شنبه 09 مهر 1387, 17:35 عصر
سلام دوست عزیز

منظورتون از ماجول چیه؟ ماجول خود فرم (یعنی همون جایی که کد رو برای هر فرم می نویسید ) یا ماجول خود vb که فایلی با پسوند bas. هستش؟

شما نمی تونید توی ماجول های vb که با پسوند bas. هست connection string رو بنویسید. چرا که شیء کنترل ADODC شما در فرمتون ایجاد و مقدار دهی اولیه می شود پس در ماجول معتبر نیست

اگر مشکلتون حل نشد بگید بیشتر راهنمایی کنم. چون خودم برای حل این مشکلات خیلی دردسر کشیدم تا به جواب رسیدم و الان می فهمم چه حالی دارید

موفق باشید

m_vb1386
پنج شنبه 11 مهر 1387, 07:41 صبح
خوب لطا بیشتر توضیح بدین ماهم استفاده کنیم

سارامجیدی
شنبه 13 مهر 1387, 07:33 صبح
راستش من داخل برنامه ام یک سری تابع دارم که کارهای محاسباتی انجام میدن و چون جاهای مختلف برنامه بهش احتیاج دارم داخل یه ماجول نوشتمش (با پسوند.bas)
اگه connection string داخل ماجول معتبر نیست پس چه جوری به دیتا بیس کانکت بشم؟
لطفا کمکم کنید

m_vb1386
شنبه 13 مهر 1387, 10:29 صبح
باید تو فرم لود بنویسیش

سارامجیدی
شنبه 13 مهر 1387, 10:44 صبح
ببینید
من حدود 10 تا فرم دارم که داخل همشون به 4 تا تابع احتیاج دارم یعنی من باید این 4 تا تا بع رو داخل همه فرمها بنویسمشون؟
یعنی هیچ راه دیگه ای نیست؟

سارامجیدی
شنبه 13 مهر 1387, 10:56 صبح
سلام دوست عزیز

منظورتون از ماجول چیه؟ ماجول خود فرم (یعنی همون جایی که کد رو برای هر فرم می نویسید ) یا ماجول خود vb که فایلی با پسوند bas. هستش؟

شما نمی تونید توی ماجول های vb که با پسوند bas. هست connection string رو بنویسید. چرا که شیء کنترل ADODC شما در فرمتون ایجاد و مقدار دهی اولیه می شود پس در ماجول معتبر نیست

اگر مشکلتون حل نشد بگید بیشتر راهنمایی کنم. چون خودم برای حل این مشکلات خیلی دردسر کشیدم تا به جواب رسیدم و الان می فهمم چه حالی دارید

موفق باشید

ممنون میشم راهنماییم کنید

hamed aj
شنبه 13 مهر 1387, 23:01 عصر
با سلام

دوست عزیز؛
شما نمی توانید از یک ماجول به اشیاء داخل یک فرم دسترسی داشته باشید مثلا adodc1.ConnectionString در داخل یک ماجول بی معنی هست. چرا که این شیء در سطح فرم ایجاد شده است. شما باید توابعی رو که بهشون اشاره کردین تغییر بدین. البته راه هایی هم وجود داره که توابع خودتون رو فقط در همون یک ماجول بنویسید و در فرم های دیگر ازشون استفاده کنید. مثلاً یک راه اینه که مقادیری رو که مربوط به پایگاه داده تون هستند و در توابع مذکور استفاده می شوند رو به صورت پارامتری به توابع تون پاس بدین (یعنی داخل فرم اونجایی که قراره تابع فراخوانی بشه ابتدا به پایگاه داده متصل بشین، مقادیر رو بگیرین و به تابع مورد نظر ارسال کنید)

امیدوارم مطلب رو رسونده باشم

موفق باشید