برگزیده های پرشین تولز

ارتباط ويژوال بيسيك با ديتابيس

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از saalek :
اول سلام مي كنم به تمامي اساتيد و كاربران گرامي اين سايت. چون اين پست دوم من است و اجازه مي گيرم از سروران گرامي.
من در اين زمينه هيچ تجربه اي ندارم. مي خواهم در اين تاپيك از تجربيات دوست گرامي بلا بلا و بقيه اهل فن كمك بگيرم.
البته خودم تمام انرژي خود را مي گذارم تا مطلب پيدا كنم ، ولي به راهنمايي دوستان كاملا محتاجم.
خواهشمندم هر جا نكته اي هست بگوييد و اگر اشتباه چيزي را گفتم ، بي ملاحظه تصحيح كنيد.
هدف يك نوع يادگيري جمعي است . و من اجازه مي خواهم هر يك از دوستان چيزي ياد داد ، در فروم ديگر بي ذكر فروم و فقط ذكر اسم گوينده استفاده كنم. چون مسئله مهم براي من همكاري بين فرومي است براي حل اين قضيه كه براي خيلي ها مثل من معضلي شده. يعني:
ارتباط دادن ويژوال بيسيك با ديتابيس.
من این تاپیک رو الان دیدم! و اسم خودم هم توش!
44.gif

امیدوارم بتونم کمکتون کنم. :)
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
خب، الان تا صفحه دو، پست شماره 20 رو مرور کردم. توضیحات دوستان کامله. ولی یکمی بیشتر باید اطلاعات طبقه بندی بشه و از یکجایی شروع کنیم و به یک جایی ختم بشه.

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

اگر می خواهیم که همگی به یک نتیجه واحد برسیم باید ابزار یکسان داشته باشیم. پس بهتره ساختار دیتابیسی که میخوایم بحث بکنیم، گذاشته بشه.

امیدوارم تاپیک ادامه پیدا کنه. :)
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از balabala :
من این تاپیک رو الان دیدم! و اسم خودم هم توش!
44.gif

امیدوارم بتونم کمکتون کنم. :)
خيلي لطف داريد اگر كمي خط بدهيد كه چه طوري كار كنيم.
زياد نمي خواهيم مزاحم اوقات بشويم.
.ولي اگر وقت داشته باشيد كه چه بهتر. من خودم شديدا تشنه ام.
.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از balabala :
خب، الان تا صفحه دو، پست شماره 20 رو مرور کردم. توضیحات دوستان کامله. ولی یکمی بیشتر باید اطلاعات طبقه بندی بشه و از یکجایی شروع کنیم و به یک جایی ختم بشه.

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

اگر می خواهیم که همگی به یک نتیجه واحد برسیم باید ابزار یکسان داشته باشیم. پس بهتره ساختار دیتابیسی که میخوایم بحث بکنیم، گذاشته بشه.

امیدوارم تاپیک ادامه پیدا کنه. :)
من خودم روشهاي كار با ديتابيس را نمي دونم كه بخواهم طبقه بندي كنم. از هر گوشه ، نقلي شنيده ام.
اينكه بايد ديتابيس براي هماهنگي بايد عرضه بشه را هم متوجه نشدم.
اميدوارم دوستان كمك كنند تا اين كارا انجام بشه. اگر هم اين تاپيك غيرقابل استفاده است بگيد تا از اول در يك تاپيك ديگه از ساختار درست شروع كنيم.
.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
من شرمندم. :)
عرض کنم که، همونطور که گفتم توضیحات جناب عالی کامل بود.

ولی اگر در شروع موضوع/پروژه بعدی، اول گفته بشه که هدف چه چیزی هست و اگر از دیتابیس آماده ای استفاده میشه table ها و فیلدهاش گفته بشه بهتر خواهد بود. الان در اسکرین شات سه فیلد دیده میشه، که با توجه به دستور sql باید از تیبلی به نام table1 گرفته و لیست بشن. خب این برای یک برنامه کوچک و کار آمد برای نمایش استفاده یک connection string و اتصال به دیتابیس بسیار جامع بود. من پیشنهاد میکنم برای شروع مثال بعدی ابتدا ساختار دیتابیس بیان بشه، و یک هدف (مثلا نمایش اطلاعات فلان تیبل، حذف رکورد از فلان تیبل و ...) و اینجوری بریم جلو. منظورم این بود. :) من یک مقدار سرم شلوغه ولی هر کمک از دستم بر بیاد دریغ نمی کنم. :)
تشکر.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از balabala :
من شرمندم. :)
عرض کنم که، همونطور که گفتم توضیحات جناب عالی کامل بود.

ولی اگر در شروع موضوع/پروژه بعدی، اول گفته بشه که هدف چه چیزی هست و اگر از دیتابیس آماده ای استفاده میشه table ها و فیلدهاش گفته بشه بهتر خواهد بود. الان در اسکرین شات سه فیلد دیده میشه، که با توجه به دستور sql باید از تیبلی به نام table1 گرفته و لیست بشن. خب این برای یک برنامه کوچک و کار آمد برای نمایش استفاده یک connection string و اتصال به دیتابیس بسیار جامع بود. من پیشنهاد میکنم برای شروع مثال بعدی ابتدا ساختار دیتابیس بیان بشه، و یک هدف (مثلا نمایش اطلاعات فلان تیبل، حذف رکورد از فلان تیبل و ...) و اینجوری بریم جلو. منظورم این بود. :) من یک مقدار سرم شلوغه ولی هر کمک از دستم بر بیاد دریغ نمی کنم. :)
تشکر.
اولا بگم كه من صفر كيلومترم. يعني نمي دونم يك قدم جلوتر چي وجود داره. تازه با اين پروژه كه دوست عزيز زحمت كشيدند ، يك چيزايي دستگيرم شد. فهميدم كه ado يك شي است كه مثل رابط عمل مي كنه. حالا اگه درست بگم. و مي تونه اشيايي مثل datagrid را تغذيه كنه.
هنوز sql را نمي دونم جايگاهش كجاست و اصلا كدام كدها ، sql هستند و كدام ها ، غير آن.
select * from table1​
اين دستور انگار ، از دستورات sql است. كه باعث ميشه كه جدول ديتابيس من كه اسمش table1 بوده ، را باز كند.
براي اعمالي كه شما فرموديد ، مثل حذف يك ركورد و مشابه آن ، فكر كنم دستورات sql موجود باشد. شايد هم نباشد . يعني دستورات مربوط به شي ado باشد. يعني متدهاي ado باشد.

كلا در اين قسمت ، يك شرح تئوريك لازمه از تكنولوژي هاي مورد استفاده كه اين connect ها ، كه انواع و اقسام دارند ، چه مكانيسمي دارند. من هنوز اطلاعاتي در مورد شرح اين تكنولوژي ها و ارجحيتها و بديهاي هر يك در اختيار ندارم.
در قسمت كدنويسي هم ، همان طور كه گفتم ، قادر به استفاده از اين دستورات (چه متدها ، چه دستورات sql ) هنوز نشده ام. حدود 20 سورس را باز كردم و مطالعه كردم. ولي نتوانستم به طرز كار آنها احاطه پيدا كنم و پروژه مشابه آنها را ، برپا كنم.

اشارات دوستان ، كمك خيلي بزرگي است ، تا از تجربيات اين دوستان ، استفاده كنيم. و انتظار نداشته باشيد كه من بتوانم تاپيك منسجمي ايجاد كنم. چون اطلاعات و روشها در اين موضوع (ديتابيس) بسيار متفرق و متنوع است و من هم منبع مناسبي ندارم.
پس تنها سعي مي كنم با سئوال كردن از دوستان و بعد كار كردن روي رهنمودهاي آنان راهي براي خود بگشايم.
.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
خیلی ممنون دوست عزیز.
سعی میکنم در اولین فرصت برای شما و دیگر دوستان مطالبی رو بیان کنم. :)
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
سلام دوستان:D
آقا من کار رو اینطوری شروع کردم. برای شما هم میگم شاید به در شما هم بخوره.
همه میدونیم که خوندن کتاب به تنهایی کافی نیست ولی یکی از پایه های مهم در یادگیری به شمار میاد .از خوندن کتاب غافل نشید. چون با خوندن کتابهایی که به فارسی ترجمه شده تازه هزارتا سوال دیگه برای شما پیش میاد که این به پیشرفت شما خیلی کمک میکنه. کتابهایی که من در حال مطالعه اونها هستم عبارتند از 1- آموزش sql server یا هر منبعی که مربوط به دستورات sql باشه 2- آموزش برنامه نویسی پایگاه داده با vb
90 درصد sql تشکیل شده از دستور select. این کلمه کلیدی در sql هست با sql و کتابش مشکلی نخواهی داشت ]چون آسون به نظر میاد. (اینطور که من فهمیدم). بحٍث سر استفاده از کتاب دوم هست که وقتی گرفتیش یک راست میری سر مبحث ado (صفحه 531 تا 568 فصل 18):rolleyes: البه داخل این کتاب درباره sql و استفاده از اون اشارات خوبی شده . میتونی به فصل های 7 و 12 و 14 مراجعه کنی. که شامل استخراج داده ها با sql و ایجاد جدول به کمک دستورات sql , و تعغییر در پایگاه داده هست.
اگه این کار رو انجام بدی قول میدم که یه چیزایی سر در بیاری:lol:
SELECT your fields FROM your table WHERE serch condition
این ساختار کلی یک دستور sql هست. اونهایی که با حروف بزرگ نوشته شده کلمات کلیدی هستن. مثلا
select * from student where fizik>12
خروجی این دستور تمام فیلدهای جدول student را که نمره فیزیک بیشتر از 12 دارند را نمایش میدهد
select معنیش میشه انتخاب کردن . حالا اگه کد بالا رو بخواهیم به فارسی ترجمه کنیم میگیم:D
انتخاب کن همه فیلدها را از جدول دانش اموز به شرطی که نمره فیزیک بیشتر از 12 باشد.
ساعت 7:40 صبحه من برم حلیم عدسی بگیرم واسه صبحانه بزنم توی رگ . :D فعلا بای
زنگ تفریحه زنگ تفریحه:blink: :blink: :blink:
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
راستی جناب بلا بلا خوش اومدی سرافراز نمودی . از خوتون ویجوآل در وکردین؟؟؟:D خوشحال شده بیدیم.جیگر
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از zapata-es24 :
سلام دوستان:D
آقا من کار رو اینطوری شروع کردم. برای شما هم میگم شاید به در شما هم بخورهزنگ تفریحه زنگ تفریحه:blink: :blink: :blink:
ممنون از معرفي كتابها. خيلي مفيد بود اطلاعات.
راجع به ساختار دستور sql كه گفتيد. يك سئوال برام پيش اومد. Fizik>12 . اين فيزيك اسم يك فيلده فكر كنم. درسته؟ اگر درست حدس زده باشم در شرط هايي كه در sql استفاده ميشه ، فقط از اسامي فيلدها استفاده ميشه.
ممنون كه تا بحال خيلي به ما كمك كرديد.
==============
من الان يك كتاب آموزش
mysql
را مرور كردم. آيا دستوراتي كه در اين نرم افزار بكار ميره ، عينا در ويژوال بيسيك قابل استفاده است؟
.
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
به نقل از saalek :
ممنون از معرفي كتابها. خيلي مفيد بود اطلاعات.
راجع به ساختار دستور sql كه گفتيد. يك سئوال برام پيش اومد. Fizik>12 . اين فيزيك اسم يك فيلده فكر كنم. درسته؟ اگر درست حدس زده باشم در شرط هايي كه در sql استفاده ميشه ، فقط از اسامي فيلدها استفاده ميشه.
ممنون كه تا بحال خيلي به ما كمك كرديد.
==============
من الان يك كتاب آموزش
mysql
را مرور كردم. آيا دستوراتي كه در اين نرم افزار بكار ميره ، عينا در ويژوال بيسيك قابل استفاده است؟
.

اولا باید بگم خواهش میکنم من وظیفه خودم رو انجام دادم و میدم.:D
دوما خوب کاری کردی رفتی سراغ sql :happy:
سوما : fizik نام یک فیلد هست.:blink:
چهارما: بله دستورات sql به همین شکلی که هستن در vb نوشته میشن البته داخل جفت " " .
پنجم: :blink: :eek: :lol: :D :p
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
هوررررررررررراااااااااااااا
:blink: :blink: :blink: :wacko:
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
به نقل از saalek :
خيلي ممنون. :D :blush: :p
.مي خواهم نمونه سورسهايي را بگذارم و با دستورات
sql
كمي كار كنم.
فكر كنم ديگه حالا بتونم كمي حريف سورسها بشم.
.
تاييد ميشه!! سورس بزار!! خيلي خوبه:D تجربي زودتر ميشه ياد گرفت:D
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
ممنون عماد جان.
من الان روي يك سورس كار كردم كه خيلي برام جالب بود.
طبق مثال قبلي كه زاپاتا جان توضيح دادند و با هم اجرا كرديم، يك شي ado را به يك فايل اكسس وصل كنيد.
بعد يكسري تكست باكس بر روي فرم قرار بدهيد. چون مي خواهيم بجاي datagrid از تكست باكس استفاده كنيم. صفت datasource تكست باكسها را adodc1 قرار بدهيد. و صفت datafield را برابر يكي از فيلدهاي جدول اكسس. نيازي نيست چيزي تايپ كنيد، وقتي كه صفت datasource برابر adodc1 قرار بگيره ، خود به خود در صفت datafield ليست نام فيلدها موجود است. بعد بي هيچ كدنويسي مثل مثال قبل ، محتواي فيلدها داخل تكست باكس ها قرار مي گيره. يعني هر چي داخل فيلدها بوده ، داخل تكس باكس ها ديده ميشه.
پس به تعداد فيلدهاي جدول اكسس خود ، تكست باكس بگذاريد و اين دو صفت را تنظيم كنيد.
حالا اگر مي خواهيد ركورد بعدي را ببينيد. يك دكمه بگذاريد و كد زير را اضافه كنيد:
Private Sub Command1_Click()
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext
End If
End Sub​
و براي ديدن ركورد قبلي:
Private Sub Command2_Click()
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious
End If
End Sub​
و براي رفتن به ركورد آخر يا اول:

Private Sub Command3_Click()
Adodc1.Recordset.MoveLast
End Sub


Private Sub Command4_Click()
Adodc1.Recordset.MoveFirst
End Sub​

براي اضافه كردن يك ركورد: بعد زدن اين دكمه مقدار فيلدها(تكست باكسها) را پر كنيد. خواهيد ديد كه به فايل شما هم در هارد اضافه مي شه.
Private Sub Command5_Click()
Adodc1.Recordset.AddNew
End Sub​
Update و delete هم داشت. كه من ديگه ننوشتم. چون من قبل اين كه هر قسمت را بنويسم ، بايستي چك مي كردم ببينم كار مي كنه يا نه. و تا اينجا خيلي وقت گرفت. در سورسهاي بعدي اين دستورات را كار مي كنيم. ولي بي امتحان دستوراتش را مي گذارم.
Adodc1.Recordset.Delete

Adodc1.Recordset.Update

Adodc1.Refresh​
اگر مشكلي در پيوند دادن ado با اكسس ، يا تكست باكس ها با ado بود، بگيد تا بحث كنيم.
.
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
:D
(.....,Adodc1.Recordset.Update Array(" FIELD1", "FIELD2",.....), Array(TEXT1.Text,TEXT2.Text
"عملیات پیچیده ویرایش رکورد مورد نظر شما با موفقیت انجام شد"=NOTE.Caption :eek: :blink:
حالا اگه گفتی واسه حذف باید چکار کرد ;)
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
بی زحمت میگم :wacko: ولی یه کم باید صبر از خودتون در وکنین. توی این مدت خودتون هم یه زوری بزنین. خدا رو چه دیدی :eek:
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
خوب دلم نیومد منتظرتون بزارم.
اول رکورد یا رکورد های مورد نظر خودتون رو بدست میارید با روشهای قبلی بعدشم مینویسید
Adodc1.Recordset.Delete:happy:
مفهوم بید؟؟؟
 
بالا