-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
alireza_tavakol
1) چرا توی فرم "صفحه ورود" متد IsValidLogin و کلیه عملیات اعتبار سنجی رو یک جا انجام ندادین؟
-این طوری که من شنیدم یکی از اصول برنامه نویسی شی گرا استقلال هر کلاس است
اگر منظورتان این است که چرا کد اعتبار سنجی را نریختن تو فرم لگین و به یک کلاس دیگر که خصوصیتش اعتبار سنجی است واگذار کردن جوابش همانی است که خودتان گفتید: "یکی از اصول برنامه نویسی شی گرا استقلال هر کلاس است"
وظیفه فرم لگین فقط نشان دادن یک دایالوگ برایه گرفتن اعتبارات کاربر است، منطق اینکه با اعتبارات چکار باید بشه که درست بودن و یا نبودنشان قضاوت بشه از عهده فرم زیادیه، و به یک کلاس متخصص به اینکار مربوط میشه.
اینکه هر کلاس باید استقلال داشته باشد به این معنی نیست که همه چی را باید در یکجا انجام داد، بلکه به کلاسهایی که برایه انجام خورده کاریهایه که تخصص دارند واگذار و استفاده میشن.
در سطح بالاتر یک لایه برایه سکیوریتی استفاده میشه، روشی که سین پین برایه مثال لگین در همین تالار گذاشته، حتی از کلاس دیگر استفاده نمیکنه، از اینترفیس برایه واگذاری و پیاده کردن منطق که ممکن است به شکل داینامیک در زمان اجرا وصل بشه استفاده میکنه.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
با تشکر از مدیران محترم که همواره آف تاپیک ها رو مورد عنایت قرار می دهند:چشمک:
نقل قول:
نوشته شده توسط
اَرژنگ
وظیفه فرم لگین فقط نشان دادن یک دایالوگ برایه گرفتن اعتبارات کاربر است، منطق اینکه با اعتبارات چکار باید بشه که درست بودن و یا نبودنشان قضاوت بشه از عهده فرم زیادیه، و به یک کلاس متخصص به اینکار مربوط میشه.
اینکه هر کلاس باید استقلال داشته باشد به این معنی نیست که همه چی را باید در یکجا انجام داد، بلکه به کلاسهایی که برایه انجام خورده کاریهایه که تخصص دارند واگذار و استفاده میشن.
مفهوم واژه استقلال در جایگاه معین می شود و باید توجه داشت که کاملا" نسبی است و هیچگاه نمی توان با قاطعیت کامل در این باره صحبت کرد.
به نظر حقیر وقتی قرار است عملیات احراز هویت به صورت پویا (تعداد کاربران نامعلوم باشد و به صورت مجتمع در پایگاه داده ها ذخیره شده باشد ) ، لازم است برای اعتبار سنجی مقادیر وارد شده لایه ها و کلاس های متعددی در نظر گرفته شود.
اما در برنامه هایی که عملیات احراز هویت به صورت ایستا ( در کد برنامه نام کاربری و رمز عبور مشخص شده باشد ) پیاده سازی شود ، بهتر است اعتبار سنجی کلیه عملیات به صورت یکجا صورت بگیرد.
نقل قول:
نوشته شده توسط
اَرژنگ
در سطح بالاتر یک لایه برایه سکیوریتی استفاده میشه، روشی که سین پین برایه مثال لگین در همین تالار گذاشته، حتی از کلاس دیگر استفاده نمیکنه، از اینترفیس برایه واگذاری و پیاده کردن منطق که ممکن است به شکل داینامیک در زمان اجرا وصل بشه استفاده میکنه.
اگه لطف کنید و لینک مستقیم پست مربوطه را درج کنید و کمی در این باره توضیح دهید چون من تا حالا چند بار این مطلب رو خوندم ولی به عمق مفهومش پی نبردم.
با تشکر/
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
دوست عزیز ممنون از کار قشنگیکه کردی و سورس برنامت رو گذاشتی . خوشبختانه اکثر بچه های برنامه نویس مثل هم هستن و از دادن اطلاعات به هم بدشون نمیاد. برنامت رو من اجرا کردم . وصل نشدن به دیتابیس رو قشنگ هندل کردی و مشکلی نداشت . چند تا پراپرتی مهم رو سعی کن تو برنامه هات ازشون به درستی استفاده کنی. یکیش مثلا Focus دادن به کنترل ها ، تو فرم لاگین وقتی نمایش داده میشه تکست باکس نام کاربری رو بهش فوکوس بده تا کاربر برنامت مجبور نباشه کلیک کنه داخلش و بعد با یک tab بره کنترل بعدی . یک پراپرتی دیگه Acceptbutton , cancel button هر فرم هستش که از اونا هم باید درست استفاده کنی ، مثلا همین فرم لاگین با زدن Enter کد دکمه ورود اجرا بشه . توی فرم اطلا عات کارمندان Tabindex ها رو اصلا ست نکردی ،کد کارمند که کلید اصلی شماست و idendity هم هستش و کاربربه هیچ وجه نمیتونه درش تغییری اعمال کنه رو چرا براش یک تکست باکس و لیبل هدر دادی و نشون دادی . توی تب جستجو وقتی بدون انتخاب چک باکسهات جستجو زده میشه هیچ اتفاقی نمیفته : همیشه تو برنامه هات درنظر داشته باش که ممکنه یک کاربر خنگ مثه من با برنامت بخواد کار کنه پس در این جور مواقع یک پیغامی به من بده که باید اول مثلا فیلد جستجو را انتخاب نمایید ..، باتون هات رو نام گذاری نکردی و این میتونه برا خودت هم چندوقته دیگه ایجاد مشکل کنه . برای کار با دیتابیس تو هر برنامه ای که مینویسی سعی کن تمام کارهای مربوط به دیتابیس رو تو یک کلاس انجام بدی ، در مورد مزایای برنامه نویسی چند لایه اساتید به اندازه کافی توضیح دادن تو فروم ، مثلا من تو برنامه های خودم همیشه یک کلاس دارم به نام clsDbConnection که هر ارتباطی که قراره با دیتابیس انحام بشه باید از طریق این کلاس باشه ، اولش این جور کدنویسی برام سخت بود ولی وقتی عادت کنی بهش واقعا از این کار لذت میبری چون این جوری داری به سمتی پیش میری که همه قسمت های برنامت رو از هم تفکیک کنی و هرکاری فقط از طریق یک مجرا ( به قول Red_Code که استاد من هست تو سی شارپ ) انجام میشه . . کلا این ویژگیها رو میتونی به همه برنامه هایی که مینویسی تعمیم بدی .همین چیزای به ظاهر بی اهمیت میتونه خیلی تو کاربرای برنامت تاثیر گذار باشه .البته اینا همش نظرات شخصی من بود و ممکنه برا شما مورد قبول واقع نشه . در مورد نکات مثبت هم که برنامت به نظر من خیلی بیشتر بود نکات مثبتش و اگه بخوام در موردش بگم باید خیلی بنویسم ، مسلما همه متوجه نکات خوب برنامت میشن .بازم ممنون .
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز.
واقعا وقتی نظر می دید خیلی خوشحال می شم.
به نکته های خوبی اشاره کردید،حتما سعی می کنم که توی نسخه جدید این برنامم که میخوام با فرم های بیشتری بنویسمش این نکات را هم به کار ببرم.
نقل قول:
نوشته شده توسط
corona
یک پراپرتی دیگه Acceptbutton , cancel button هر فرم هستش که از اونا هم باید درست استفاده کنی ، مثلا همین فرم لاگین با زدن Enter کد دکمه ورود اجرا بشه .
در مورد این میشه بیشتر توضیح بدی؟
نقل قول:
برای کار با دیتابیس تو هر برنامه ای که مینویسی سعی کن تمام کارهای مربوط به دیتابیس رو تو یک کلاس انجام بدی ، در مورد مزایای برنامه نویسی چند لایه اساتید به اندازه کافی توضیح دادن تو فروم ، مثلا من تو برنامه های خودم همیشه یک کلاس دارم به نام clsDbConnection که هر ارتباطی که قراره با دیتابیس انحام بشه باید از طریق این کلاس باشه ، اولش این جور کدنویسی برام سخت بود ولی وقتی عادت کنی بهش واقعا از این کار لذت میبری چون این جوری داری به سمتی پیش میری که همه قسمت های برنامت رو از هم تفکیک کنی و هرکاری فقط از طریق یک مجرا ( به قول Red_Code که استاد من هست تو سی شارپ ) انجام میشه . . کلا این ویژگیها رو میتونی به همه برنامه هایی که مینویسی تعمیم بدی
درسته،چون اگر بخوام توی برنامه جدیدم برای وصل شدن به db و .... ، توی هر فرم کد بنویسم، میشه یه عالمه کار بیهوده.
من برنامه نویسی چند لایه را شنیدم ولی تا حالا کار نکردم. خیلی سخته؟؟!!
در ضمن نکاتی که گفتی برای من اصلا بی اهمیت نبود.
لصفا در نظر سنجی هم شرکت کنید.
پیروز باشی :لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
alireza_tavakol
با تشکر از مدیران محترم که همواره آف تاپیک ها رو مورد عنایت قرار می دهند:چشمک:
مفهوم واژه استقلال در جایگاه معین می شود و باید توجه داشت که کاملا" نسبی است و هیچگاه نمی توان با قاطعیت کامل در این باره صحبت کرد.
به نظر حقیر وقتی قرار است عملیات احراز هویت به صورت پویا (تعداد کاربران نامعلوم باشد و به صورت مجتمع در پایگاه داده ها ذخیره شده باشد ) ، لازم است برای اعتبار سنجی مقادیر وارد شده لایه ها و کلاس های متعددی در نظر گرفته شود.
اما در برنامه هایی که عملیات احراز هویت به صورت ایستا ( در کد برنامه نام کاربری و رمز عبور مشخص شده باشد ) پیاده سازی شود ، بهتر است اعتبار سنجی کلیه عملیات به صورت یکجا صورت بگیرد.
اگه لطف کنید و لینک مستقیم پست مربوطه را درج کنید و کمی در این باره توضیح دهید چون من تا حالا چند بار این مطلب رو خوندم ولی به عمق مفهومش پی نبردم.
با تشکر/
مستقل (Decouple) و یکسان (Cohesion) بودن باید سعی بشه که با هم بالا برده بشند.
وقتی که در کد شروع میکنیم که مفهومات مختلف را با هم قاطی کنیم (منطق درست بودن اعتبارات و نشان دادن و گرفتن اعتبارات)، از یکسانی کد کم میکنیم.
در برنامه هایی که عملیات احراز هویت به صورت ایستا هم انجام بشه، بازهم بهتر است که کارهایه مختلف قسمت بندی بشن و جدا جدا انجام بشن.
چونکه وقتی که کد کارهایه مختلف با هم قاطی میشند از هم باز کردنشان از اول جدا نگه داشتنشان بیشتر زمان میبره.
این هم لینک به پست جناب سینا، استفادهاشان از مفاهیم شییگرایی و اینکه چطوری کارهایه مختلف را با استفاده از روادید از هم مستقل کردند واقعا لذت بردنی هست. همه باید سعی کنند که به این حد کدنویسی عرج کنند (هر دفعه میبینمش از سادگی و تمیزیزیش کیف میکنم، در ضمن هم انعتاف پذیری بالا دارد و به سختی هم نمیشکنه):
https://barnamenevis.org/showthread.php?t=94791
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوباره.
خیلی خوبه که دارم مطالب جدید یاد می گیرم، امیدوارم برای شما هم مفید باشه.
مرسی از تمام دوستان خوبم.
فقط کاش به سوالای منم جواب می دادید.
نکته مهم:
ای دوستتتتتتتتتتتتتتتتتتتتتت تان :لبخند: (تمام افرادی که برنامه را download کردند)
از این حدود 100 نفر، فقط 6 نفر در نطر سنجی شرکت کردن. :ناراحت:
لطفا در نظر سنجی هم لطف بفرمایید شرکت کنید، خوشحال میشم. :لبخندساده:
همگی پیروز باشید.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
sara.f دوست من در نظر سنجی هم شرکت کردیم :دی
برا Accept button وCencel Button پرسیدی . ببین عزیز هر فرمی این دو پراپرتی رو داره . شما وقتی روی فرمت اطلاعات رو داری وارد می کنی اگه خواستی با زدن کلید Enter صفحه کلید کد یکی از باتون هات اجرا بشه ، مثلا تو همون فرم لاگین که داری وقتی نام و پس رو وارد کردی مجیور نباشی بری حتما با موس روی دکمه لاگین کلیک کنی و هر جای فرمت که بودی ، فوکوس فرم دست هر کنترلت که باشه اهمیت نداره ، فقط چیزی که برات مهمه اینه که با زدن Enter کد لاگین اجرا بشه ، برای اینچور مواقع پراپرتی Acceptbutton رو میاریش از توی propertis window وقتی منوی کشوییش رو باز کنی می بینی که اسم تمام باتون های فرم جاری رو برات لییست کرده ، حالا هر باتونی که میخوای با زدن Enter کدش اجرا بشه رو اینجا انتخاب کن . به طور مشابه برای Cancel Button ، هر وقت خواستی با زدن کلید ESC کد یکی از باتون هات اجرا بشه تو این پراپرتی اسم اون باتون رو انتخاب کن ، مثلا دکمه خروج از نرم افزار میتونه گزینه مناسبی باشه .
در مورد برنامه نویسی چند لایه هم که پرسیدی ، دوستان به اندازه کافی براش مطلب گذاشتن تو فروم ، لازمه بهت بگم هیچ سختی نداره و برای این که بخوای برنامه هایی که می نویسی به راجتی در مقابل تغببراتی که در آینده میخوای درش ایحاد کنی منعطف باشه و با دردسر مواحه نشی بهترین شیوه کد نویسی همین 3 لایه ( البته بازم نظر شخصیمه ) هستش .پیشنهاد می کنم برا اینکه به ارزشش بیشتر پی ببری یکم در مورد معماری MVC ( Model - View - Controller مطلب بخونی ، معماری که بخوبی 3 لایه بودن رو به کار گرفته و زبانی مثل Rails کاملا بر اساس این معماری کار می کنه و جوملا هم کاملا با همین معماری کار میکنه .بعد میتونی ایده هایی که از این معماری میگیری رو تو برنامه های Winapp خودت اعمال کنی و نهایت استفاده رو ازش ببری . موفق باشی
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام
دوست عزیز ممنون از برنامه ای که قرار دادید،فقط من یک مشکل دارم که وقتی می خوام دیتابیس را در sql2005 ری استور کنم و وقتی فایل را انتخاب کنم اونا برام نمیاره،اگه ممکنه طریقه ری استور کردنش را هم بگید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
سلام
دوست عزیز ممنون از برنامه ای که قرار دادید،فقط من یک مشکل دارم که وقتی می خوام دیتابیس را در sql2005 ری استور کنم و وقتی فایل را انتخاب کنم اونا برام نمیاره،اگه ممکنه طریقه ری استور کردنش را هم بگید
سلام دوست عزیز
من که در همون پست اول گفتم db با SQL2008 هست.
version پایین تر نمی تونه version بالاتر را ساپورت کنه.
visual2005 هم دارید؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
تنظيمات restore فراموش نشه گلم
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
A.Shafiee
تنظيمات restore فراموش نشه گلم
سلام.
ببخشید، متوجه نشدم!
منظور اینه که بگم چطور باید restore کرد؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
سلام دوست عزیز
من که در همون پست اول گفتم db با SQL2008 هست.
version پایین تر نمی تونه version بالاتر را ساپورت کنه.
visual2005 هم دارید؟
سلام دوست عزیز ممنون از توجهتون
شما که زحمت کشیدید اگه ممکنه کمی در مورد کدها مثل نحوه استفاده از app.config در connection string یا نحوه login کردن به سیستم توضبح بدید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
sara.f شما میتونی اسکریپت دیتابیست رو برا دوستمون بزاری می تونه تو 2005 برگردونه دیتابیس شما رو . من خودم این کار پیش اومده برام انجام دادم ، مگه اینکه از امکانات خاصی که فقط Sql 2008 داره استفاده کرده باشی که تو این برنامه بعید میدونم . موفق باشی
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوستان.
اگه مشکلتون فقط با db هست و به دلیل اینکه version2008 هست،نمی تونید ازش استفاده کنید، من فیلدهای جدولم را در اختیارتون قرار میدم تا خودتون db را تهیه کنید، خیلی راحت هست.
code(PK,int,not null,Identity specification)
fname(nvarchar(50),null)
lname(nvarchar(50),null)
position(nvarchar(50),null)
office(nvarchar(50),null)
pic(varbinary(max),null)
نام جدول --> employee
نام دیتا بیس --> project2
collation را Arabic_100_cI_AI انتخاب کنید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
corona
sara.f شما میتونی اسکریپت دیتابیست رو برا دوستمون بزاری می تونه تو 2005 برگردونه دیتابیس شما رو . من خودم این کار پیش اومده برام انجام دادم ، مگه اینکه از امکانات خاصی که فقط Sql 2008 داره استفاده کرده باشی که تو این برنامه بعید میدونم . موفق باشی
سلام
اینم script جدول و db
table-script
کد HTML:
USE [project2]
GO
/****** Object: Table [dbo].[employee] Script Date: 09/25/2009 14:02:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[employee](
[code] [int] IDENTITY(1000,1) NOT NULL,
[fname] [nvarchar](50) NULL,
[lname] [nvarchar](50) NULL,
[position] [nvarchar](50) NULL,
[office] [nvarchar](50) NULL,
[pic] [varbinary](max) NULL,
CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED
(
[code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
data base-script
USE [master]
GO
/****** Object: Database [project2] Script Date: 09/25/2009 13:59:39 ******/
CREATEDATABASE [project2] ONPRIMARY
( NAME =N'p2',FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\project2.mdf ', SIZE = 4096KB , MAXSIZE =UNLIMITED, FILEGROWTH = 1024KB )
LOGON
( NAME =N'p2_log',FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\project2_1.l df', SIZE = 3840KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTERDATABASE [project2] SETCOMPATIBILITY_LEVEL= 100
GO
IF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [project2].[dbo].[sp_fulltext_database]@action ='enable'
end
GO
ALTERDATABASE [project2] SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE [project2] SETANSI_NULLSOFF
GO
ALTERDATABASE [project2] SETANSI_PADDINGOFF
GO
ALTERDATABASE [project2] SETANSI_WARNINGSOFF
GO
ALTERDATABASE [project2] SETARITHABORTOFF
GO
ALTERDATABASE [project2] SETAUTO_CLOSEOFF
GO
ALTERDATABASE [project2] SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE [project2] SETAUTO_SHRINKOFF
GO
ALTERDATABASE [project2] SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE [project2] SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE [project2] SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE [project2] SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE [project2] SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE [project2] SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE [project2] SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE [project2] SETDISABLE_BROKER
GO
ALTERDATABASE [project2] SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE [project2] SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE [project2] SETTRUSTWORTHYOFF
GO
ALTERDATABASE [project2] SETALLOW_SNAPSHOT_ISOLATIONOFF
GO
ALTERDATABASE [project2] SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE [project2] SETREAD_COMMITTED_SNAPSHOTOFF
GO
ALTERDATABASE [project2] SET HONOR_BROKER_PRIORITY OFF
GO
ALTERDATABASE [project2] SETREAD_WRITE
GO
ALTERDATABASE [project2] SETRECOVERYFULL
GO
ALTERDATABASE [project2] SETMULTI_USER
GO
ALTERDATABASE [project2] SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE [project2] SETDB_CHAININGOFF
GO
اگه سوالی بود بپرسید.
پیروز باشید.:لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز sara.fاگه ممکنه به پست 52 هم نگاهی بیاندازید،در ضمن یه سوال برام پیش اومده:من از روش شما برای ذخیره عکس در دیتابیسم استفاده کردم حالا می خوام با دوبار کلیللک کردن روی دیتا گریدم عکس مربوط به اون سلول روی picture box بشینه
اگه ممکنه راهنماییم کنید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
با سلام
بهتر نبود يك فايل mdf از ديتابيس برنامه رو ميذاشتين به جاي اين ها؟
معمولا تو اين جور پروژه ها از sql express استفاده كنيد بهتره.
يك تانكر آب خوبه اما براي شستن يك ليوان يك سطل هم كافيه.
البته نظر شخصيه بنده هست و از روي تجربه دارم ميگم.
موفق باشيد.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
bermooda
با سلام
بهتر نبود يك فايل mdf از ديتابيس برنامه رو ميذاشتين به جاي اين ها؟
معمولا تو اين جور پروژه ها از sql express استفاده كنيد بهتره.
يك تانكر آب خوبه اما براي شستن يك ليوان يك سطل هم كافيه.
البته نظر شخصيه بنده هست و از روي تجربه دارم ميگم.
موفق باشيد.
سلام
من که در پست 32 هم گفتم چرا ، و هم سوال کردم چطوری؟
ولی هیچکسی جوابم را نداد.
در ضمن فکر نمی کردم بچه ها با db مشکل پیدا کنن.
تا به حال هم اگر از دوستان به مشکل برخورد کردن، من سعی کردم که پاسخشون را بدم.
به هر حال اینا همش تجربست،(زندگی همش تجربست)
این تاپیک هم واسه همین ایجاد کردم، نه؟! :لبخندساده:
به امید خدا میخوام پیشنهادات تمامی شما دوستان عزیزم را به کار بگیرم و برنامه را بهبود بدم.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
سلام دوست عزیز ممنون از توجهتون
شما که زحمت کشیدید اگه ممکنه کمی در مورد کدها مثل نحوه استفاده از app.config در connection string یا نحوه login کردن به سیستم توضبح بدید
سلام.
شما دقیقا چه مشکلی دارید؟
app.config کار خاصی نمی کنه دوستم، فقط واسه نگهداری connection string هست، وقتی می خواید پروژه را به db وصل کنید، از طریق data --> add new data source و طی مراحل wizard به db مورد نظر وصل میشید و این فایل app.config ایجاد میشه.
و نیازی نیست هر دفعه app.config را ایجاد کنید.
login شدن به چه سیستمی؟!
منظورتون کدهای فرم login هست؟!
چه قسمتی از کد را متوجه نشدید؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
سلام دوست عزیز sara.fاگه ممکنه به پست 52 هم نگاهی بیاندازید،در ضمن یه سوال برام پیش اومده:من از روش شما برای ذخیره عکس در دیتابیسم استفاده کردم حالا می خوام با دوبار کلیللک کردن روی دیتا گریدم عکس مربوط به اون سلول روی picture box بشینه
اگه ممکنه راهنماییم کنید
سلام
اینم کد برای شما
privatevoid dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
try
{
MemoryStream ms = newMemoryStream((byte[])(dataGridView1.CurrentRow.Cells[5].Value));
pictureBox1.Image = Image.FromStream(ms);
}
catch (Exception t)
{
MessageBox.Show(t.Message);
}
}
رویداد CellDoubleClick را از Events می آورید.
cell[5] برای من سلول عکس بوده.
بازم سوال داشتی بپرس.
پیروز باشی.:لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
بازم سلام و ممنون از توجهتون
1-در مورد app.config بله من کدها را داخلش نوشتم اما نمیدونم اونا چطور به sqlconnection ربط بدم
نقل قول:
منظورتون کدهای فرم login هست؟!
2-بله منظور کدهای فرم login و کلاس security هست
راستی یه سوال دیگه
آیا این روش ذخیره عکس شما در دیتابیس یک روش استاندارد هست و میشود در پروژه های تجاری از اون استفاده کرد
بازم ممنون
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
بازم سلام و ممنون از توجهتون
1-در مورد app.config بله من کدها را داخلش نوشتم اما نمیدونم اونا چطور به sqlconnection ربط بدم
2-بله منظور کدهای فرم login و کلاس security هست
راستی یه سوال دیگه
آیا این روش ذخیره عکس شما در دیتابیس یک روش استاندارد هست و میشود در پروژه های تجاری از اون استفاده کرد
بازم ممنون
سلام
شما نیازی ندارید که app.config را تغییر بدید، شما چه کدی را در اون نوشتید؟!
نیازی به کد نویسی نیست، همون طور که در پست قبلی گفتم خودش در اولین بار که پروژه را به db وصل می کنیم ساخته میشه. شما اگر بخ.اید از برنامه من استفاده کنید، نیازی نیست که app.config را تغییر بدید.
در مورد کد فرم login باید بگم که از get,set برای نگهداری پراپرتیها استفاده شده، همون طور که معلومه ما سه تا پراپرتی در فرم login داریم، لیبل message که در کلاس program مقدار دهی میشه ، textbox های user ,pass که مقادیر آنها را کاربر وارد میکنه و این مقادیر در کلاس security با مقادیر اصلی مقایسه میشه، با استفاده از تابع string.compare
در مورد روش ذخیره عکس هم نمی دونم منظورت از استاندارد چیه؟
خب اینم یه روشه که خود عکس را در db ذخیره می کنه. و البته اگر حجم عکستون بالا باشه به نسبت حجم db هم بالا میره، حالا شاید اگر در سایت هم search کنی، بتونی جواب سوالت که آیا روش استانداردی هست یا نه را بهتر بگیری.
اگر سوال دیگه ای در ارتباط با این برنامه داشتید، بازم جواب میدم.
پیروز باشی.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز
نقل قول:
شما نیازی ندارید که app.config را تغییر بدید، شما چه کدی را در اون نوشتید؟!
نیازی به کد نویسی نیست، همون طور که در پست قبلی گفتم خودش در اولین بار که پروژه را به db وصل می کنیم ساخته میشه. شما اگر بخ.اید از برنامه من استفاده کنید، نیازی نیست که app.config را تغییر بدید.
من می خوام در یک برنامه دیگه از همین app.configبرای کانکشنم استفاده کنم یعنی بجای اینکه کد زیر را بنویسم
SqlConnection cnn = new SqlConnection("Server=localhost;Database=test;User ID=sa;Password=megh!@#1;");
می خوام بدونم اون فایل app.config را چطور به این sqlconnection ربط بدم
در ضمن من همین سوال را اینجا هم مطرح کردم
https://barnamenevis.org/showthread.php?t=178392
ممنون
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
سلام دوست عزیز
من می خوام در یک برنامه دیگه از همین app.configبرای کانکشنم استفاده کنم یعنی بجای اینکه کد زیر را بنویسم
SqlConnection cnn = new SqlConnection("Server=localhost;Database=test;User ID=sa;Password=megh!@#1;");
می خوام بدونم اون فایل app.config را چطور به این sqlconnection ربط بدم
ممنون
سلام، تا اونجا که من می دونم در هر برنامه، app.config خودش را داره.
من متوجه نمی شم، آخه شما چطور می خواید از app.config پروژه من در برنامه دیگه ای استفاده کنید.
شما اگر میخواید در برنامتون از app.config استفاده کنید،خودتون باید یک app.config ایجاد کنید.
برای ایجاد app.config هم در پست 59 روش را گفتم.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام
نقل قول:
من متوجه نمی شم، آخه شما چطور می خواید از app.config پروژه من در برنامه دیگه ای استفاده کنید.
بله من میدونم
ببنیید من فایل app.config را ساختم تا اینجا درست،...
حالا مشکل من اینه که نمیدونم اونا چطور به sqlconnectionم ربط بدم،یعنی مشکل من اینه که بجای اینکه این کد را بنویسم
نقل قول:
SqlConnection cnn = new SqlConnection("Server=localhost;Database=test;User ID=sa;Password=megh!@#1;");
چطور باید sqlconnection را به فایل app.config ربط بدم
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان (چهار عمل بر روی db/استفاده از عکس/crystal report)
نقل قول:
نوشته شده توسط
sara.f
سلام به همه دوستانم. :لبخندساده:
خیلی وقته می خواستم پروژه ای را در اینجا قرار بدم که بالاخره امروز محقق شد.
در این مدتی که عضو این سایت شدم،شاهد این بودم که خیلی از اعضا سوالاتی مشابه یکدیگر دارند و همگی دنبال نمونه کد وبرنامه هستن ولی بیشتر مواقع برنامه ای که بتونه تمام سوالاتشون را پاسخ بده پیدا نمی کردند.من در بسیاری از قسمت های این برنامه از اطلاعات بچه های همین سایت استفاده کردم. :لبخندساده:
این برنامه شامل موارد زیر هست:
- ورود / حذف / ویرایش / جستجوی اطلاعات
- ذخیره عکس در data base/ و نمایش عکس در picture box
- گزارش گیری کلی / و بر اساس یک فیلد خاص در crystal report
- نمایش عکس در crystal
- ارسال پارامتر به crystal
- وجود صفحه login/ برنامه دو فرمه
- و نکات کوچک دیگر
این برنامه را به دو دلیل اینجا میذارم:
- دوستانم از این برنامه استفاده کنند و جواب بسیاری از سوالاتشون را که در اینجا مطرح میشه را دریافت کنند و مجبور نباشند که مثل من برای پیدا کردن جواباشون از این تاپیک به اون تاپیک برند، البته می دونم که ممکنه راه حل های بهتری هم وجود داشته باشه،پس دلیل دوم اینه که:
- این برنامه شاید از دید بسیاری از دوستانم حرفه ای نیست، و شاید خیلی اشکالات داشته باشه که دوست دارم همه نظر بدن و من واقعا از اینکه بتونم این برنامه را بهبود بدم خوشحال میشم.
باید اضافه کنم که برنامه تحت نرم افزار visual studio 2008 نوشته شده و پایگاه داده مورد استفاده SQL Server 2008 هست.
بچه ها نظر بدید، لطفا.
همگی هر جا که هستید، پیروز باشید.:لبخندساده:
سلام
ضمن تشکر ممکن که بانک اطلاعاتی اش را به اکسس تبدیل کنی
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
من backup را ریستور کردم هنگام خطا پیغام خطا میده با sql 2000
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
noroozifar
من backup را ریستور کردم هنگام خطا پیغام خطا میده با sql 2000
با سلام
اول عذر میخوام که با یک ماه تاخیر جواب میدم، ولی همین امروز این پست را دیدم، آخه حدود یکماه اینترنتم قطع بود.
به علت اینکه در ابتدای کار هم گفته بودم، بانک این نرم افزار با SQL2008 نوشته شده و نسخه های پایین تر ،نسخه های بالاتر را support نمی کنند، حالا برای اینکه شما هم بتونید از برنامه استفاده کنید ، پست های 54 و 55 را مطالعه کنید.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
sara.f
ای وای بچه ها یادم رفت data base را بذارم.:لبخندساده:
این فایل back up هست که می تونید در SQL آن را restore کنید.
نظر بدیدا.
امکانش نیست بانکش را برای sql server 2005 آماده کنی؟
ممنون
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
sara.f
خیلی واسم عجیبه!!!!!!!!!!!!!:متفکر:
چون من حتی الان db را delete کردم ولی وقتی فرم اصلی باز میشه پیغام خطایی مبنی بر اینکه نمی تونه db را پیدا کنه را داد.
دوستان دیگر هم مشکل آقای برمودا را دارند؟!!!!
با سلام
من هم با اینکه بانک را ندارم ولی خطا نمیده.
البته من توی فایل program مسیر اجرای برنامه را به فرم 1 تغییر دادم.و تونستم فرم اصلی را ببینم ولی مشکل اینه که با کارکرد برنامه بصورت عملی نتونستم آشنا بشم.
در مورد کدها اگه با توضیح باشه خیلی بهتره و در مورد اشیای تعریفی اگه با اسم های معنی دار تری باشه بهتر و قابل فهم تر میشه.
درمورد invalidlogin و نحوه کار با اون توضیح بدید برای من جالب بود چون من خودم اومده بودم در فرم اصلی فرم چک کردن یوزر را باز کرده بودم و ....
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
من backup رو چطور میتونم ریستور کنم؟:افسرده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
5mmmmm
امکانش نیست بانکش را برای sql server 2005 آماده کنی؟
ممنون
سلام دوست عزیز
امکانش نیست، چون من SQL 2005 روی سیستمم نصب نیست.
ساختن بانکش کاری نداره، من اسم بانک و تمامی فیلدهای جداولم را در پست های 54,55 در اختیارتون گذاشتم و ساخت یه بانک با یه جدول کار سختی نیست.
پیروز باشی.
-
3 ضمیمه
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
behnam25214
من backup رو چطور میتونم ریستور کنم؟:افسرده:
سلام
بعد از اون نام دیتا بیس و محل آن در سیستمتون را انتخاب می کنید.
و در آخر...
( البته دقیقا نمی دونم که این سوال و جواب ، جاش توی این تاپیک بود یا نه. )
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
من تازه اس کیو ال 2000 رو نصب کردم و وقتی برنامه رو اجرا می کنم میگه رو سیستمتون بانک اطلاعاتی (دیتا بیس ) پیدا نمیشه
لطفا توضیح بدید کامل بگید چطور وصل کنیم
امیدوارم که همینطور شما به دیگران کمک می کنید
دیگران هم به شما کمک کنند
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
arefba
من تازه اس کیو ال 2000 رو نصب کردم و وقتی برنامه رو اجرا می کنم میگه رو سیستمتون بانک اطلاعاتی (دیتا بیس ) پیدا نمیشه
لطفا توضیح بدید کامل بگید چطور وصل کنیم
امیدوارم که همینطور شما به دیگران کمک می کنید
دیگران هم به شما کمک کنند
سلام
دوست عزیزم، این سوال شما تکراریه، من قبلا توی پست #68 به این سوال پاسخ دادم.
لطفا اگر میخواید از برنامه استفاده کنید، تاپیک را کامل مطالعه کنید، تا سوالاتی را که قبلا بهشون پاسخ داده شده، مجددا مطرح نکنید.
پیروز باشی.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
ببخشید حالا این خطا رو میده
invalid object name employee
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
arefba
ببخشید حالا این خطا رو میده
invalid object name employee
مگه شما نگفتید که SQL2000 دارید؟
خب شما نمی تونید توی SQL2000 این backup را restore کنید.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
5mmmmm
با سلام
من هم با اینکه بانک را ندارم ولی خطا نمیده.
البته من توی فایل program مسیر اجرای برنامه را به فرم 1 تغییر دادم.و تونستم فرم اصلی را ببینم ولی مشکل اینه که با کارکرد برنامه بصورت عملی نتونستم آشنا بشم.
در مورد کدها اگه با توضیح باشه خیلی بهتره و در مورد اشیای تعریفی اگه با اسم های معنی دار تری باشه بهتر و قابل فهم تر میشه.
درمورد invalidlogin و نحوه کار با اون توضیح بدید برای من جالب بود چون من خودم اومده بودم در فرم اصلی فرم چک کردن یوزر را باز کرده بودم و ....
سلام
منظورتون کدوم قسمت هست؟ در چه موردی توضیح بدم؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
sara.f
سلام
منظورتون کدوم قسمت هست؟ در چه موردی توضیح بدم؟
بطور کلی اگر می خواهید پروژه حالت آموزشی داسته باشه بهتره از توضیحات داخل کد استفاده کنید.
ولی اگر زحمت نیست در مورد ConnectionInfo و اینکه چه استفاده ای داره، در مورد InvalidLogin توضیح بدید.
ضمن اینکه اسامی دکمه ها و تکست باکس ها و لیبل ها اگر معنی دار بود بهتر بود.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
5mmmmm
بطور کلی اگر می خواهید پروژه حالت آموزشی داسته باشه بهتره از توضیحات داخل کد استفاده کنید.
ولی اگر زحمت نیست در مورد ConnectionInfo و اینکه چه استفاده ای داره، در مورد InvalidLogin توضیح بدید.
ضمن اینکه اسامی دکمه ها و تکست باکس ها و لیبل ها اگر معنی دار بود بهتر بود.
درست می گید، کلا در برنامه های بعدی این نکات را در نظر گرفتم.
فکر می کنم منظورتون تابع IsValidLogin هست.
این تابع که در کلاسی به نام Security تعریف شده، در اصل کار بررسی صحت User و Pass وارد شده توسط کاربر را بر عهده داره که User , Pass را دریافت کرده و با User ,Pass مورد نظر برنامه مقایشه می کنه و در صورت صحت مقدار True را بر می گردونه، البته این روش مقایسه را در برنامه یکی از دوستان دیدم که من از اون در اولین برنامم استفاده کردم ولی خب مسلما روش های بهتر و با امنیت بیشتری برای این کار وجود داره.
و اما در مورد connectionInfo: در واقع ConnectionInfo اطلاعات مربوط به Connection از قبیل Password، DataBaseName , UserId را تنظیم می کنه.