PDA

View Full Version : رفتن آدرس دیتابیس در ابتدای برنامه !



r0ot$harp
چهارشنبه 02 آبان 1386, 16:58 عصر
سلام بچه ها خوبید
من یه سوالی دارم من می خوام بدونم که چه جوری میشه وقتی برنامه باز میشه اگه فایل دیتابیس را پیدا نکرد از کاربر بخواهد که فایل را برایش باز کند یعنی مثل پنجره ی open
ممنون

مبین رنجبر
چهارشنبه 02 آبان 1386, 18:59 عصر
باید چک کنی که آیا این فایل وجود داره یا نه با تابع Dir یا تابع ای پی آی : FileExist

با دستور DIR :



If Dir("مسیر فایل دیتا بیس"( = "اسم فایل دیتا بیس" Then
Msgbox "Database File Found"
Else
Msgbox "Database File Not Found"
End if

r0ot$harp
چهارشنبه 02 آبان 1386, 19:05 عصر
سلام ممنون از جوابتون این فقط برای چک کردن هست من می خوام اگه نبود بیاد یه پنجره ی open باز کند . کنترل استفاده شده adodc هست ممنون

مبین رنجبر
چهارشنبه 02 آبان 1386, 19:23 عصر
خوب عزیز من کد تغییر بده دیگه ... بجای Msgbox " Database File Not Found" بنویس :

Commondialog1.ShowOpen

اگه می خوای سورس کامل این کاری رو که می خوای انجام بدی رو واست بنویسم ؟

r0ot$harp
چهارشنبه 02 آبان 1386, 20:30 عصر
سلام ممنون از جوابتون
ببینید شما در دیتابیس برای تعریفConnectionString ما باید این دستورات را بنویسیم حالا برای اینکه ما بتونیم آدرس را از اول برنامه از کاربر بگیریم چگونه است . ممنون
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\emperor hack\Desktop\full\a.mdb;Persist Security Info=False

اوبالیت به بو
چهارشنبه 02 آبان 1386, 20:37 عصر
من به کد بالا یه خورده کد اضافه کردم امیدوارم که درست باشه.

Option Explicit
Dim x as Variant
If Dir("مسیر فایل دیتا بیس" = "اسم فایل دیتا بیس" ) Then
Msgbox "Database File Found"
Else
Msgbox "Database File Not Found"
x=MsgBox "آیا مایل به وصل شدن به بانک اطلاعاتی هستید؟"
,vbInformation+vbYesNo,"پیام"
If x=vbYes then
Commondialog.Filter="Date|*.mdb"
Commondialog.ShowOpen
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Commondialog1.FileName;Persist Security Info=False
Else
End if
End if

اوبالیت به بو
چهارشنبه 02 آبان 1386, 20:39 عصر
البته می گم شما برای اینکه برنامتون راحت تر اجرا بشه بهتره که از طریق کد نویسی به بانکتون وصلش کنید تا اینکه بخواین از Properties به بانک وصلش کنید.

r0ot$harp
چهارشنبه 02 آبان 1386, 21:48 عصر
سلام عزیز ممنون از جوابتون ولی گیر می ده
گیرش دقیقا تو اون تیکه ای هست که گفتین

Commanddialog1.filename
وقتی به این خط میرسه بااینکه فایلم باز می کنیم ولی گیر می ده میگه مثلا
مثل این عکس
http://i20.tinypic.com/jh7nk2.gif
ممنون

kmotavali
چهارشنبه 02 آبان 1386, 22:09 عصر
دوست عزیز من یه نمونه تو یه تاپیک دیگه گذاشتم که هم وجود بانک رو چک میکنه و هم قابلیت ایجاد و اتصال به بانک رو داره

اینم لینکhttp://barnamenevis.org/forum/showthread.php?p=411562#post411562

r0ot$harp
چهارشنبه 02 آبان 1386, 22:16 عصر
برنامه ی شما مشکل داره یه چک بکنید ممنون .

kmotavali
پنج شنبه 03 آبان 1386, 00:19 صبح
دوست عزیز تصحیح شد یکی از فرمهارو پاک کرده بودم

مبین رنجبر
پنج شنبه 03 آبان 1386, 11:20 صبح
sanaz عزیز .. Connection String قخ باید به صورت زیر بنویسی:



Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Commondialog1.FileName & ";Persist Security Info=False"

r0ot$harp
پنج شنبه 03 آبان 1386, 13:11 عصر
سلام ممنون از جوابتون کاملا درست شد متشکرم .

مبین رنجبر
پنج شنبه 03 آبان 1386, 13:30 عصر
خواهش می کنم .. وظیفه بود

r0ot$harp
پنج شنبه 03 آبان 1386, 13:39 عصر
وقتی یک دیتابیس را می خواهیم از کاربر باز شود قبل از نشان دادن پنجره ی open تست کنه ببینه اگر adodc ما error نبود دیتابیس رو نداد کاری نکند ولی اگر از adodc ما error اجرا شد بیاد و اگر اون error مربوط به نبودن دیتابیس بود commanddialog1.showopen باز شود ممنون

مبین رنجبر
پنج شنبه 03 آبان 1386, 16:49 عصر
متوجه نشدم چی گفتین .... فقط فک کنم می خواین Error ها رو ور دارین ؟ درسته ؟

اگه این کارو می خواین بکنین کد های MsgBox رو پاک کنید دیگه .... شما بهتره ویژوال بیسیک رو بیشتر مطالعه کنید

__siavash__
پنج شنبه 03 آبان 1386, 17:48 عصر
وقتی یک دیتابیس را می خواهیم از کاربر باز شود قبل از نشان دادن پنجره ی open تست کنه ببینه اگر adodc ما error نبود دیتابیس رو نداد کاری نکند ولی اگر از adodc ما error اجرا شد بیاد و اگر اون error مربوط به نبودن دیتابیس بود commanddialog1.showopen باز شود ممنون
شما بیا تو Sub Main با دستور Dir چک کن اگه فایل وجود نداشت بعد commanddialog1.showopen رو نشون بده
البته به جز Dir در صورت نیاز از FileSystemObject هم میتونی استفاده کنی !

r0ot$harp
پنج شنبه 03 آبان 1386, 18:41 عصر
سلام آقایون من کار با error ها رو بلدم فقط سوالم اینه که error که برای نبودن وپیدا نکرد دیتابیس هست یه error با شماره عجیب قریب است و من نمی دونم چنده من سوالم اینه یعنی کار با error هایه adodc و تعداد خطاهای احتمالی برای دیتابیس و نام خطاها چیست ممنون

مبین رنجبر
پنج شنبه 03 آبان 1386, 20:31 عصر
error هایی که خود شی Adodc میده رو نمیشه جلوشونو گرفت مگر اینکه مشکلشونو حل کنید ... شما بهتره یه کم واضح تر بنویسید ... خیلی بد می نویسید .. من هیچی نفهمیدم .....

r0ot$harp
پنج شنبه 03 آبان 1386, 21:56 عصر
عذر می خوام
ببینید منظور من اینه که وقتی شی adodc نمی تونه دیتابیس رو پیدا کنه یه error می ده من از کجا بفهمم این error چه شماره ای دارد تا بتونم جلشو بگیرم .

و سوال بدی من اینه که :
چه جوری با استفاده از دستور dir بتونم من چک کنم آیا هرجایی که فایل exe برنامه بود a.jpg وجود دارد یا نه یعنی مسیر dir اینگونه باشد که

Dir("a.jpg"="هرجایی که فایل exe بود ")

r0ot$harp
پنج شنبه 03 آبان 1386, 21:56 عصر
عذر می خوم
ببینید منظور من اینه که وقتی شی adodc نمی تونه دیتابیس رو پیدا کنه یه error می ده من از کجا بفهمم این error چه شماره ای دارد و تا بتونم جلشو بگیرم .

و سوال بدی من اینه که :
چه جوری با استفاده از دستور dir بتونم من چک کنم آیا هرجایی که فایل exe برنامه بود a.jpg وجود دارد یا نه یعنی مسیر dir اینگونه باشد که

Dir("a.jpg"="هرجایی که فایل exe بود ")

__siavash__
پنج شنبه 03 آبان 1386, 22:25 عصر
به این صورت


Dir (App.Path & "\a.jpg")

اگر وجود داشته باشه اسم فایل رو برمیگردونه

r0ot$harp
پنج شنبه 03 آبان 1386, 22:45 عصر
این کد قسمت بالا که برا آقا سیاوش بود یه مشکل داره اونم اینکه خودشون تو yahoo به من گفتن من براشون می زارم تا بدن خودشون درست کنند .

if Dir (App.Path & "\a.jpg") ="" then
msgbox "a.jpg nist"
else
msgbox "a.jpg Hast"
end if

morad_brd
جمعه 04 آبان 1386, 18:53 عصر
چگونه می توان برنامه ای نوشت که مثلا داخل یک شبکه محلی بانک روی serverاست وما از طریق clientها ثبت اطلاعات در بانک روی serverداشته باشیم
البته بگم که sql server 2000بروی سرور است و نام دیتابیس group و نام جدول ali است
ممنون اگه راهنمایی کنید

مبین رنجبر
شنبه 05 آبان 1386, 19:02 عصر
جناب morad_brd .. شما باید اول برنامه نویسی winSock رو یاد بگیرید و اگه بلدید یا یاد گرفتید باید با استفاده از WinSock باید روی انتقال فایل از طریق وینساک کار کنید ... که من یه برنامه نوشتم واسه ارسال فایل از طریق وینساک اگه خواستین من واستون آپلود می کنم ....

lahij.ir
دوشنبه 11 آذر 1387, 13:56 عصر
سلام دوستان ، من خیلی کم دی بحث ها شرکت می کنم چون معمولا نوشته اهی شمارو می خوانم کارم را میفته و ازین بابت هم از شما ممنونم مخصوصا از آقای Lsass.CRC32 بابت راهنمایی های درست و کاملشون ممنونم ، می خواستم اگه میشه در مورد winsuck که گفتین برای انتقال اطلاعات از کلاینت به سرور و برعکس هستش توضیحات کاملی بدن ، یعنی میشه با ویژوال بیسیک به یه دیتابیس روی سرور وصل شد ؟ اگه میشه همراه یه مثال و سورس براموش روشن کنین که قضیه چیه بازم ممنون:بوس::تشویق::قلب:

Pr0grammer
دوشنبه 11 آذر 1387, 14:57 عصر
سلام دوستان ، من خیلی کم دی بحث ها شرکت می کنم چون معمولا نوشته اهی شمارو می خوانم کارم را میفته و ازین بابت هم از شما ممنونم مخصوصا از آقای Lsass.CRC32 بابت راهنمایی های درست و کاملشون ممنونم ، می خواستم اگه میشه در مورد winsuck که گفتین برای انتقال اطلاعات از کلاینت به سرور و برعکس هستش توضیحات کاملی بدن ، یعنی میشه با ویژوال بیسیک به یه دیتابیس روی سرور وصل شد ؟ اگه میشه همراه یه مثال و سورس براموش روشن کنین که قضیه چیه بازم ممنون:بوس::تشویق::قلب:

اولاً ورودتون به سایت برنامه نویس رو تبریک میگم!
دوماً این تاپیک تقریباً یک سال پیش ایجاد شده بود! (چهارشنبه 02 آبان 1386) :لبخند:

شما که میگی مطالب رو می خونی! احتمالاً این تاپیک رو هم از نتیجه جستجو پیدا کردی! خب، به جای اینکه توی این تاپیک پست ارسال کنید؛ باید از همون جستجو استفاده می کردید! حتی نیاز به جستجو هم نبود چون من چند دقیقه پیش یه سوال مشابه رو جواب دادم (که اتفاقاً اونم تکراری بود!:لبخند:)، اگه صفحه اول بخش رو نگاه می کردید،متوجه میشدید: http://barnamenevis.org/forum/showthread.php?t=133657

موفق باشید

lahij.ir
چهارشنبه 13 آذر 1387, 20:59 عصر
بازم سلام ، اقای Pr0grammer از شمام ممنونم :لبخند:
راستشو بخواین من خیلی تو این تاپیکا اینور اونور شدم اما هیچ کدوم ساده و کامل توضیح نداده بودن تا اینکه بلاخره یه جا پیدا کردم ، دیگه می بخشید تاریخم نگا نکرده بودم :لبخند:
حالا وصل شدن به سرور sql و روی localhost یاد گرفتم ، روی سرور هاست هم فکر کنم دقیقا مثل همین باشه درسته ؟ :لبخند:
یه سوال خیلی مهم هم دارم و هنوز سرچ نکردم ببینم در موردش بحث شده یا نه ، میگم شاید دوستان راه حلی پیشنهادی مطلبی بدونن ، اینکه وقتی به سرور هاست وصل میشیم و اطلاعات رد و بدل میشه کسی می تونه این اطلاعات و ببینه یا بگیره ؟ منظورم اینه که مثلا یه برنامه داره روی کامپیوتر من کار میکنه و من دارم یه سری آدرس یا عکس به دیتابیسم روی سرور میفرستم در بین راه امکان لو رفتنش توسط حالا مثلا هکر ها و موجودات :لبخند: دیگه هست ؟ یه سوال دیگه و بعدش شر و کم میکنم:لبخند: ، مثلا ما برناممون رو نوشتم و کامپایلم کردیم و یه فایل exe شد ، اگه کسی اینو اجرا کنه موقع وصل شدن به سرور ، راهی وجود داره که بفهمیم این برنامه به کجا و چه آدرسی داره اطلاعات میده ؟
ممنون میشم دوستان روشنم کنن:قلب:

saeid12
یک شنبه 17 آذر 1387, 02:01 صبح
ببینید منظور من اینه که وقتی شی adodc نمی تونه دیتابیس رو پیدا کنه یه error می ده من از کجا بفهمم این error چه شماره ای دارد و تا بتونم جلشو بگیرم .
شما میتونید از تابع err استفاده کنید.