امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ديتابيس كارا! جناب علي 110 خواهشا كمك كنيد!
نویسنده پیام
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #1
ديتابيس كارا! جناب علي 110 خواهشا كمك كنيد!
سلام!
من يه بار اين سوال رو مطرح كردم. با چند تا از بچه ها هم چت كردم. اما كسي منظور منو نفهميد.كمك خواهشا.
فرضا من يه برنامه ديتابيس دارم مي نويسم(البته واقها هم دارم مينويسم ولي توش موندم :? )
فرضا كتابخانه. توي بانك اين برنامه جداول مربوط به كتاب رو طوري طراحي كردم كه يه جدول نيست. 2 تا جدوله. يكي مشخصات اصلي كتاب با يه فيلد آي دي كه كليد هم هست. جدول بعدي هم مشخصات ديگه كتابها به اضافه يه فيلد آيدي كه كليد هم هست مثل جدول اول. چون مثلا تعداد فيلدها زياد ميشه 2 جدولي ميشه. حالا موقه ورود يه كتاب جديد به كتابخونه بايد به هر دو جدول اضافه بشه ديگه. يعني كاربر اطلاعات كتاب رو وارد ميكنه(همه اطلاعات در يك فرم از كاربر گرفته ميشه) ولي در عمل نصف اطلاعات بايد به جدول اول به عنوان يك ركورد و نصف ديگه به جدول دوم اضافه بشه. حالا نميدونم اين كارو چطوري انجام بدم. يكي از دوستان گفت يه تابع بنويسم و دوبار فراخواني كنمش. با راههاي مختلف ميشه كاري كرد يا ميشه 2 تا عمت درج انجام داد. ولي من مي خوام ببينم بهترين راه چيه. برنامه نويس هاي ديتابيس چه روشي به كار مي برن؟ جناب علي 110 شما اين رو چطور انجام ميديد؟؟ (اووووه! خسته شدم :? )
فقط دوستان يه كمي زودتر كمكم كنيد. خيلي عقب افتادم. ميدونم چيز ساده اي براي ديتابيس كاراس. ولي من بي تجربه هستم. اگه برنامه نمونه هم بديد ديگه خيلي ممنون ميشم! :wink:
۰۱-دى-۱۳۸۴, ۰۱:۳۶:۳۷
ارسال‌ها
پاسخ
MasoudSobhi آفلاین
كاربر تک ستاره
*

ارسال‌ها: 30
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #2
راهنمايي از طرف مسعود صبحي
سلام دوست عزيز فرض كن adodc1 متصل به ديتابيس اوليته و adodc2 ديتابيس دومي و صد در صد تو ميخواي يك دكمه ذخيره هم بزاري تو فرمت . براي دكمه ذخيره ات اين كد رو بنويس
کد:
adodc2.recordset.addnew
adodc2.recordset(0) = Text1.Text
adodc2.recordset(1) = Text2.Text
adodc1.recordset.save
adodc2.recordset.save
با اين روش مي توني تو دو تا ديتابيست هم ذخيره كني . مطمئنم كه موفق مي شي . در ضمن بايد يه دستور هم بدي كه برنامه اگه يك ركورد تكراري برخورد چي كار كنه و چه پيغامي بده . اگه اينم بلد نبودي دوباره مطلب بزار يا من و يا يكي از دوستان جوابتو مي ده[/code]

ط
۰۱-دى-۱۳۸۴, ۱۶:۱۷:۰۱
وب سایت ارسال‌ها
پاسخ
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #3
 
سلام!
از جوابت ممنون. ولي من نگفتم 2 تا ديتابيس. گفتم 2 تا جدول تو يك ديتابيس!
حالا با اين توضيح شما يه برنامه نمونه . لينكي چيزي سراغ نداريد؟ متاسفانه من با سرچ سايت هم مشكل دارم از دوستان كسي هست كه از مطالب خود سايت لينكي به من بده؟
۰۲-دى-۱۳۸۴, ۰۰:۵۷:۰۸
ارسال‌ها
پاسخ
ali110 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 91
موضوع‌ها: 21
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 0
( 7 تشکر در 6 ارسال )
ارسال: #4
 
سلام
ببين عزيزم اگر من درست فهميده باشم شما به علت زياد بودن فيلدها آمديد دو جدول ايجاد كرديد كه تعدادي از فيلدها در جدول 1 و بقيه در جدول 2 ميباشد درسته ؟
اگر درست فهميدم بايد بگم كه اين كار شما كلا اشتباه ميباشد چون هيچگاه به خاطر زياد بودن فيلدها از چند جدول استفاده نميكنند بلكه هنگامي از دو جدول استفاده ميكنند كه يكسري اطلاعات مشترك و ثابت باشند . مثلا فرض كنيد ما در همين پروژه كتابخانه براي هر كتاب ميخواهيم مشخصات كامل ناشر را نيز براي هر كتاب داشته باشيم . حالا چون يك ناشر ممكن است چندين كتاب چاپ كرده باشد و مشخصات ناشر هم تغييري نميكند ما به جاي آنكه براي هر ركورد بياييم و مشخصات كامل ناشر را فيلد به فيلد وارد كنيم يك جدول براي ناشرين درست ميكنيم و تمام مشخصات ناشران را در آن ميريزيم و به هر ناشر يك كد واحد اختصاص ميدهيم
حالا در جدولي كه مشخصات كتابها در آن موجود است فقط يك فيلد براي ناشر در نظر ميگيريم و در آن فيلد هم كد ناشر را قرار ميدهيم . اگر قرار شد كه به مشخصات ناشر و كتب به صورت همزمان دسترسي پيدا كنيم ( فرضا هنگام چاپ مشخصات كتابها ) آنگاه با يك سلكت ساده
اطلاعات را از دو جدول مذكور بيرون ميكشيم .
بازم تكرار ميكنم هيچگاه به خاطر زياد بودن فيلدها از چند جدول استفاده نميكنيم بلكه زماني از چند جدول استفاده ميكنيم كه اطلاعاتي ثابت و تكراري داشته باشيم . علت اين كار هم كه مشخص ميباشد . اولا در حجم بانك صرفه جويي قابل ملاحظه اي ميشود . دوما اگر زماني معلوم شد كه مثلا نام ناشر را اشتباه وارد كرده ايم ! در اين جا فقط با تغيير يك ركورد مشكل حل ميشود و سوما از ورود اطلاعات تكراري جلوگيري ميشود .
در اخر هم اگر قابل بدانيد ميخواهم به عنوان برادر كوچكتان پيشنهادي به شما بكنم ؟
براي انجام بزرگترين و پيچيده ترين عملياتهاي بانكي در كمترين زمان و داشتن بهترين ضريب اطمينان و به ساده ترين وجه تنها و تنها بايد از t-sql كمك گرفت . شما هم بهتر است تنها يك يا دو روز وقت بگذاريد و t-sql را كامل ياد بگيريد آنگاه متوجه خواهيد شد كه عملياتها و الگوريتمهايي كه تابحال غير ممكن به نظر ميآمدند تنها با يك يا دو خط برنامه نويسي انجام پذيرند .
قربان شما علي 110
۰۲-دى-۱۳۸۴, ۰۲:۲۱:۱۳
وب سایت ارسال‌ها
پاسخ
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #5
 
سلام!
علي آقا واقعا ممنون از توضيحات كاملتون!
آخرش رو درست نفهميدم. شما منظورتو اينه كه من t-sql رو ياد بگيرم به اين منظور كه الگوريتم هاي كار با ديتابيس و جداول رو ياد بگيرم و تو ويبي ديگه مشكلي نداشته باشم(مي خواد هر نوع بانكي باشه: اس كيو ال- اكسس) درسته؟
راستي ميشه من ايميل شما رو داشته باشم؟

ممنون!
سيد محسن
۰۲-دى-۱۳۸۴, ۰۳:۰۱:۳۴
ارسال‌ها
پاسخ
MasoudSobhi آفلاین
كاربر تک ستاره
*

ارسال‌ها: 30
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #6
كمك 2 از مسعود
سلام دوست عزيز . اون مثالي كه من بهت زدم هم مي تونه تو دو تا جدول و هم مي تونه تو دو تا ديتابيس قرار بگيره و فرقي هم نمي كنه .
شما ميتوني TextBox هاي بقيه اتو به ركورد ست دومي وصل كني و در دستور Save بگي جفتش سيو بشه

بعد هم كار شما واقعاً اشتباهه . تو يك جدول همشو تعريف كن

ط
۰۳-دى-۱۳۸۴, ۰۱:۱۳:۳۸
وب سایت ارسال‌ها
پاسخ
ali110 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 91
موضوع‌ها: 21
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 0
( 7 تشکر در 6 ارسال )
ارسال: #7
 
بازم سلام
اميدوارم كه اينجانب را به خاطر تاخير در جوابها به بزرگواري خود عفو كنيد .
در جواب شما بايد عرض كنم كه درست فهميديد . t-sql براي بانك دقيقا مانند زبان اسمبلي ميماند . يعني زبان پايه تمام بانكها ميباشد . البته اين زبان در بانكهاي مختلف تفاوتهاي بسيار ناچيزي دارد مثلا بين اواكل و اسكيوال سرور در بعضي موارد تفاوتهايي در سينتكس دستورات وجود دارد ولي در حالت كلي حدود 95٪ دستورات كاملا مشترك هستند و از استاندارد واحدي تبعيت ميكنند . پس در حالت كلي تفاوتي در نوع بانك وجود ندارد .
در ضمن بايد خدمتون عرض كنم كه زبانهاي برنامه نويسي مختلف از جمله وي بي يا دلفي يا سي و ... آبجكتهايي براي ارتباط با بانك دارند كه يكي از وظايف اين آبجكتها تفسير دستورات t-sql ارسالي توسط شما ميباشد . پس عملا تفاوتي در زبان برنامه نويسي نيز وجود ندارد . در آخر هم بايد خدمتتون عرض كنم كه در حال حاضر پيشرفته ترين آبجكت موجود براي ارتباط با بانكها كه با تمامي بانكها سازگار است و بهترين ابزارها را دارا ميباشد آبجكت ADO محصول شركت ماكروسافت ميباشد كه اين آبجكت تقريبا در تمام زبانهاي ويژوال وجود دارد و روش كار با ان نيز در تمام اين زبانها تقريبا يكسان است .
بازم ميگم من همه رقما درخدمتم و اگر گاهي دير به دير ميام از روي ناچاري است ولي به هرحال ميام . پس بازم اگر در جواب دادن تاخيري داشتم رسما معذرت خواهي ميكنم .
ايميل من هم كه در سايت هست ولي دوستان در صورت نياز ميتوتنند با ايميل زير نيز با من تماس بگيرند . ولي فكر كنم اگر مسايل در همينجا مطرح شوند خيلي بهتر باشد چون همه ميتونند نظر بدند و ما هم از نظرات مختلف اساتيد خودم استفاده كنيم .
alikavoosifar@gmail.com
۰۳-دى-۱۳۸۴, ۱۵:۳۷:۴۹
وب سایت ارسال‌ها
پاسخ
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #8
 
سلام!
علي آقا خيلي ممنون از اينكه منو بي جواب نميزاري.
اگه ممكنه يه سوال ديتابيسي ديگه هم داشتم و اون اينه كه وقتي ما تو اكسس جدولها رو طراحي ميكنيم فيلد كليد ميزاريم و ارتباط يك به يك- يا يك به چند ميديم به چه دردي ميخوره؟
يعني ميدونم مفهوم ارتباط جداول يعني چي. ولي مي خوام بدونم تو كد نويسي مثلا تو ويبي ميتونه كمكي بكنه؟ مثلا به واسطه ارتباط بعضي كارها خودكار انجام ميشه؟
۰۴-دى-۱۳۸۴, ۰۱:۱۰:۰۲
ارسال‌ها
پاسخ
ali110 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 91
موضوع‌ها: 21
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 0
( 7 تشکر در 6 ارسال )
ارسال: #9
 
با سلام .
بازم جواب با حداكثر تاخير . راستش همش تقصير من نيست وقتي تاپيكها سه شماره ميرن تو آرشيو خوب آدم از كجا بفهمه كه سوالات هنوز ادامه دارند . مثلا همين تاپيك من فكر ميكردم شما جوابتون را گرفتيد و ديگه سوالي نيست والان هم خيلي لتفاقي ديدم كه بازم سوال كرده ايد . ايران ويجه ديگه چيكارش ميشه كرد ؟
اما جواب سوال شما . البته كه رابطه ها در برنامه وي بي به درد ميخورند . بزار با مثال جوابتون را بدم .
فرض كنيد داريم يك فروشگاه آنلاين درست ميكنيم . در بانك ما دو جدول با مشخصات زير وجود دارد .
1 - جدول گروه ها با نام groups شامل فيلدهاي زير :
کد:
grp-code -----> Group Code
grp-name -----> Group Name
grp-pic -----> Group Picture
2 - جدول محصولات ( كالا ها ) با نام products و شامل فيلدهاي :
کد:
p-code -----> Product  Code
p-name -----> Product  Name
grp-code -----> Group Name
p-pic -----> Product  Picture
p-price -----> Product  Price
در جدول گروهها فيلد grp-code كليد اصلي ميباشد و در جدول محصولات p-code كليد اصلي ميباشد .حالا ما بين فيلدهاي grp-code كه در هر دو جدول مشترك ميباشد يك رابطه برقرار ميكنيم . در واقع بين جدول گروهها و محصولات يك رابطه يك به چند ايجاد كرده ايم .
حالا فرض كنيد در جدول گروهها يك ركورد داريم كه كد گروه آن 103 ميباشد . به بقيه فيلدها كاري ندارم . در جدول محصولات نيز 300 تا ركورد داريم كه كد گروه همه آنها 103 ميباشد . درست ؟ حالا اگر شما روزي تصميم بگيريد كه كد گروه را از 103 به G103 تغيير دهيد فقط كافي
است كه در جدول گروهها كد گروه را از 103 به G103 تبديل كنيم . با اين كار چون ما قبلا يك رابطه بين اين دو جدول برقرار كرده ايم در جدول محصولات همه آن 300 ركوردي كه كد گروه آنها 103 بوده به صورت خودكار تغيير كرده و به G103 تبديل ميشوند . بايد خدمتتون عرض كنم كه در اينجا ما فقط دو جدول را در نظر گرفتيم اما اگر هزار تا جدول ديگه هم باشه كه در انها فيلد كد گروه موجود باشد و بين اين هزار تا جدول و جدول گروهها ارتباز برقرار كرده باشيم - همه هزار تا جدول مانند جدول محصولات فيلد كد گروهشان خود به خود تغيير خواهد كرد .
حالا فرض كنيد ما بين دو جدول محصولات و گروهها ارتباط برقرار نميكرديم . آنگاه مجبور بوديم
هم جدول گروهها را خودمان تغيير بديم و هم جدول محصولات را .
اميدوارم با اين مثال مفهوم رابطه و كاربرد آن را فهميده باشيد . در ضمن بايد عرض كنم كه هر جدول و هر فيلد با چندين جدول ميتواند ارتباط داشته باشد .
قربان شما علي110
۱۱-دى-۱۳۸۴, ۰۶:۲۷:۴۲
وب سایت ارسال‌ها
پاسخ
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #10
 
ممنون علي آقا

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۱۱-دى-۱۳۸۴, ۰۹:۲۱:۳۲
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نصب SQL Server ! ميتونيد كمك كنيد؟؟؟ Mohandese_Javan 10 8,853 ۰۲-مرداد-۱۳۹۲, ۱۰:۲۸:۳۳
آخرین ارسال: lord_viper
  من برنامم به آخر رسيده يك ماه تلاش كردم اما برنامم كامپايل نميشه كمكم كنيد mohammad29 9 6,428 ۲۴-فروردین-۱۳۹۲, ۱۲:۲۹:۴۶
آخرین ارسال: rap0661
Question سوال درباره چگونگي سرچ كردن در ديتابيس PRO 17 11,943 ۰۸-شهریور-۱۳۹۱, ۱۹:۵۲:۲۷
آخرین ارسال: PRO
  کمممک در ساختن برنامه . خواهشا mOSTEFEA 1 2,921 ۱۳-تير-۱۳۹۱, ۱۲:۲۴:۴۷
آخرین ارسال: mOSTEFEA
  اين ارورر ieframe.dll چي هست..كمك كنيد farzad1360 9 12,945 ۰۵-بهمن-۱۳۹۰, ۱۸:۱۹:۵۶
آخرین ارسال: yasser_sh
Question [سوال] امكان auto number كردن يك فيلد در ديتابيس هاي vb6 hamed_Arfaee 3 5,613 ۰۲-مهر-۱۳۹۰, ۱۲:۴۲:۱۹
آخرین ارسال: hamed_Arfaee
  [سوال] مشكل برنامه نويسي در vb لطفا كمكم كنيد galaxyking 3 3,647 ۳۰-خرداد-۱۳۹۰, ۰۰:۱۲:۴۴
آخرین ارسال: galaxyking
Question سوال ضروریه خواهشا کسی میدونه جواب بده reza-ezdeham 2 2,743 ۱۲-اردیبهشت-۱۳۹۰, ۱۰:۳۳:۵۲
آخرین ارسال: son of wisdom
  تو رو خدا كمكم كنيد bah69man 42 22,286 ۰۹-اردیبهشت-۱۳۹۰, ۲۰:۵۸:۵۷
آخرین ارسال: bah69man
Sad سوال درسی دارم ضروریه خواهشا جواب بدید reza-ezdeham 3 4,005 ۲۳-فروردین-۱۳۹۰, ۱۱:۲۴:۲۸
آخرین ارسال: reza-ezdeham

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS