PDA

View Full Version : حرفه ای: کامپوننت اتصال به بانک و کدنویسی کوتاه به همراه پروژه آموزشی دفتر تلفن مختصر



M.KH-SH
یک شنبه 11 دی 1390, 16:07 عصر
سلام

کامپوننت زیر به همراه پروژه آموزش استفاده از کامپوننت برای کدنویسی سریع و آسان ساخته شده است.

پروژه آموزشی یک دفتر تلفن بسیار ساده و مختصر میباشد که بیشتر برای نمایش نحوه استفاده از این کامپوننت میباشد این پروژه شامل 105 خط میباشد.

* این کامپوننت قابلیت اتصال به بانک access و sql را دارا میباشد و تنها با معرفی نوع بانک به راحتی میتوان تمامی دستورات را وارد کرد


لطفا نظر فراموش نشه مرسی

M.KH-SH
دوشنبه 12 دی 1390, 17:18 عصر
گویا دوستان فقط دانلود میکنن و نظری هم ندارن


اگه نظری دارین لطفا بیان کنید

alimanam
دوشنبه 12 دی 1390, 17:39 عصر
با سلام

من زیاد دقت نکردم ولی فکر میکنم باید اینجوری طراحی اش میکردی .

در انتخاب فانکشن و تابع زیاد دقت نکردی یعنی اومدی فانکشن نوشتی به جای تابع ! ( فانکشن های اون ماژول هیچی بر نمیگردوناً که جای تعجب داره )
به جای اینکه کاربر رو وادار کنی که کوئری بنویسه بهتره این جوری باشه که کاربر بیاد یک تابع داشته باشه که اسم فیلدها رو بده مقدار این فیلدها رو هم بده بعد تابع خودش بیاد تو دیتابیس کار Insert رو انجام بده دیگه نیازی نباشه کوئری رو کامل بنویسه . این یه مثال بود برای Insert برای Update کردن هم همینجور

بیشتر اگه به ذهنم رسید حتما میگم . بابت نوشتن این dll هم ازتون تشکر میکنم :لبخندساده:

موفق باشید ./

M.KH-SH
دوشنبه 12 دی 1390, 17:58 عصر
خیلی ممنون خوب حق با شماست در خود برنامه من از فانکشن استفاده کردم و این یکم مشکل داره.


این dll اول بودش و خوب بعدی ها حتما این مشکلات برطرف میشه.

alasht
دوشنبه 12 دی 1390, 18:16 عصر
سلام
من وی بی دات نت زیاد بلد نیستم ولی به نظر من کانکشن استربنگ رو نباید شما از کاربر بخواین کامل بنویسه
شما باید نام دیتابیس و یوزر و پس و ... رو از کاربر بگرید و کانکشن استرینگ رو خودش تولید کنه
و همچنین کوئری ها رو هم حرف اون دستمون رو تایید میکنم
در کل خسته نباشید کارتون رو ادامه بدید تا پروژتون حرفه ای تر بشه :چشمک:

M.KH-SH
دوشنبه 12 دی 1390, 19:37 عصر
این یک ایده اولیه بود و حتما تکمیلش میکنم

Veteran
دوشنبه 12 دی 1390, 20:27 عصر
اگه بتونین اینارو بنویسین خیلی خوبه
برای مثلا اضافه کردن

addnew(fldname,text1,fldfamily,text2,fldtel,text3, ..........fld_n,text_n)

خوب اومدیم گفتیم fldname,text1 این یعنی بیا مقدار تکست 1 رو هرچی بود بریز توی فیلد اسم
و fldfamily,text2 اینجا هم گفتیم که مقدار تکست 2 رو هرچی بود بریز توی فیلد فامیلی
و همینطور فیلد fldtel,text3 مقدار تکست 3 ریخه بشه توی fldtel
اما fld_n و text_n چیه
منظور اینکه محدودیتی برای اضافه کردن نداشته باشیم بتونیم فیلد ها ی زیادی رو مشخص کنیم که چه چیزی قرار در اون ها قرار بگیره
ممکنه بانک ما یک فیلد داشته باشه ممکنه 100 فیلد اینجا این به کار میاد

برای اپدیت هم مثل addnew

update(fldname,text1,fldfamily,text2,fldtel,text3, ..........fld_n,text_n where FldName='" + FldName + "' and FldFamily='" + FldFamily + "' )


اینجا مثلا ما توی دیتاگرید ویو اون سطری که انتخاب کردیم میگیم اپدیت کن fldnam رو بر اساس مقداری که توی text1 هست و برای بقیه هم همینطور

M.KH-SH
دوشنبه 12 دی 1390, 22:06 عصر
مرسی از توجه شما
اینم قابل اجراست ولی نه به این زیبایی و هوشمندی که همه چیز رو خودش پیدا کنه و بنویسه :خجالت:

M.KH-SH
دوشنبه 12 دی 1390, 23:08 عصر
کوئری نویسی بخش insert & update رو که جناب alimanam (http://barnamenevis.org/member.php?43498-alimanam) گفتن درست کردم

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

Veteran
سه شنبه 13 دی 1390, 08:53 صبح
مشکل چیه ؟

M.KH-SH
سه شنبه 13 دی 1390, 10:32 صبح
مشکل در کدوم قسمت برنامه صورت گرفته ؟
اگه در برنامه دانلود شده بالا هست که باید آدرس بانک رو درست وارد کنی ولی اگه در برنامه خودت هست باید تک تک فیلد ها و ایتم ها برای برنامه درست وارد کنی تا مشکلی پیش نیاد

در برنامه اصلی مشکلی نیست تمام مشکل از سمت کد نویسی شما حاصل شده پس برنامه رو دوباره مرور کن و ببین کجا اشتباه نوشتی

Veteran
سه شنبه 13 دی 1390, 11:09 صبح
همون نمونه ای که گذاشتین رو دانلود کردم بعد فایل پروزه رو باز کردم این ارور رو داد

Veteran
سه شنبه 13 دی 1390, 11:14 صبح
یادم رفت بگم ادرس اول توی درایو c بود اما ادرس بانک جدید که دادم باز همینو میگه
منظور خود بانکی بود که همراه برنامه گذاشته بودین

H:\TST_PROGRAM\TST_PROGRAM\bin\Debug\db.mdb

این ادرس برای من هست اما میزنم باز ارور میده

M.KH-SH
سه شنبه 13 دی 1390, 11:25 صبح
Public con As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\db.mdb"


شما این کانکشن رو دوباره کپی کن داخل ماژول برنامه و بعد برنامه رو run کن مشکلی نداره
روی چندیدن سیستم امتحان شده و اولین موردی هست که به مشکل خورده

Veteran
سه شنبه 13 دی 1390, 11:29 صبح
تست کردم نشد!

M.KH-SH
سه شنبه 13 دی 1390, 11:31 صبح
80089

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

alimanam
سه شنبه 13 دی 1390, 13:29 عصر
با سلام


کوئری نویسی بخش insert & update رو که جناب alimanam (http://barnamenevis.org/member.php?43498-alimanam) گفتن درست کردممرسی که تغییراتی در dll خودتون دادین اما من منظورم به این صورت بود

http://up1.iranblog.com/images/0nnpcn5lxqxe9ro118sp.png

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dbAssistancer As New ManamAccessDbAssistance.Access("db")
If dbAssistancer.InsertToTable("fname!lname!phone!sex", TextBox1.Text & "!" & TextBox2.Text & "!" & TextBox3.Text & "!" & CInt(CheckBox1.Checked), "Table1") Then
MsgBox("Record Added !")
End If

End Sub

یعنی شما هیچگونه محدودیتی در تعداد فیلد برای کاربر قائل نشین چه 2 تا فیلد داشته باشیم چه 20 تا فقط باید اسم فیلدها و مقادیرشون + اسم اون جدولی که قراره Insert درش انجام بشه رو از کاربر بخواین مابقی کارها به صورت خودکار انجام بشه . اگه منظورم رو متوجه نشدین بگین تا سورسی رو که نوشتم واستون ارسال کنم .

موفق باشید ./

M.KH-SH
سه شنبه 13 دی 1390, 13:47 عصر
جناب مهندس در برنامه بالا هم هیچ محدودیتی نذاشتم و به راحتی کاربر میتونه زیاد یا کم کنه
روشی که شما استفاده کردین کارکتر غیر مجاز به وجود آورده و اگه کاربر در هر جای برنامه شما علامت ! قرار بده برنامه شما دچار مشکل شده و یک فیلد از آخر رو ناشناس باقی میزاره و در نتیجه کوئری شما اشتباه جواب گویی میکنه مگر در هنگام امنیت گذاری بخش های ورودی کارکتر ! رو به صورت غیر مجاز از برنامه حذف کنین که برای کاربران برنامه این هم امری غیر منطقی هست

به بخش های مشخص شده لطفا دقت کنین

این روش بدون به وجود آمدن کارکتر غیر مجاز در برنامه میباشد:::


80096


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

با تشکر

alimanam
سه شنبه 13 دی 1390, 14:31 عصر
با سلامی 3 باره

دوست خوبم مثل اینکه هنوز متوجه نشدین منظورم چی هست !!!! روشی که شما بکار بردین به این صورت هست که برای هر بار که میخواین Insert کردن رو در جدول انجام بدین باید یک تابع add مشخص در اون ماژول بنویسین ! یعنی به فرض اگه 20 تا جدول داشتی باید 20 تا هم add بنویسی ! چرا ؟ چون پارامترهای تابع شما به صورت دینامیک ست نمیشن و ثابت هستن ( از نظر تعداد و همینطور نوع داده منظورم هستش ) فکر میکنم توضیحات رو بسیار ساده گفتم . در مورد کاراکتر غیر مجاز 100 حق با شما بود من این سورس رو برای دادن ایده به شما نوشتم و دقتی در مورد این مورد به خصوص نداشتم این مشکل به راحتی هرچه تمامتر قابل رفع هستش به این صورت که شما میتونی کاراکتر جدا کننده رو در اختیار برنامه نویس بزاری ( یعنی جدا کننده مقادیر اختیاری باشه تا برنامه نویس به صلیغه خودش انتخابش کنه ) برای مثال من کاراکتری رو انتخاب کردم " ☺ " که به نظرم میتونه یک کاراکتر غیرمجاز برای ورود اطلاعات در نظر گرفته بشه یعنی اینکه کاربر نمیتونه از این کاراکتر خاص استفاده کنه مگه اینکه دلیل قانع کننده ایی موجود باشه که شما تصمیم بگیری تغییرش بدی و چون اختیاری هست هیچگونه محدودیتی در اون نیست پس زندگی شیرین میشود ! :چشمک:

http://up3.iranblog.com/images/zd8ia83xgve5whjzhqk.png

موفق باشید

alimanam
سه شنبه 13 دی 1390, 14:38 عصر
این هم سورس

موفق باشید ./

Veteran
سه شنبه 13 دی 1390, 22:50 عصر
این هم سورس

موفق باشید ./

چرا فایل رار باز نمیشه! پسورد میخواد

sahand100
پنج شنبه 12 مرداد 1391, 10:19 صبح
من میخواستم یک برنامه ی paint بسازم تو picturebox ولی فقط میتونم تو فرم نقاشی کنم ! و میخواستم بدانم چگونه از کیبوردز در وی بی دات نت استفاده می کنیم>؟

M.KH-SH
پنج شنبه 12 مرداد 1391, 10:35 صبح
من میخواستم یک برنامه ی paint بسازم تو picturebox ولی فقط میتونم تو فرم نقاشی کنم ! و میخواستم بدانم چگونه از کیبوردز در وی بی دات نت استفاده می کنیم>؟
دوست عزیز به نظر شما این تاپیک جای این سئوال بود که پرسیدین؟

mohsen22
شنبه 28 مرداد 1391, 14:05 عصر
پسورد میخواد؟