نقل قول: مشکل در طراحی فرم LOGIN
سلام دوستان من مشکلی که واسه طاحی فرم لاگین دارم اینه که یه دیتا بیس دارم با تعدادی یوزر
دنبال یه کد خوب واسه و بهینه می گردم
ممنون می شم کمکم کنید
هودم یه کد نوشتم که اطلاعات رو در یک جدول تو رم ذخیره می کنه ولی برای پر کردنش ارور می ده!!!!!!
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
violet87
سلام دوستان من مشکلی که واسه طاحی فرم لاگین دارم اینه که یه دیتا بیس دارم با تعدادی یوزر
دنبال یه کد خوب واسه و بهینه می گردم
ممنون می شم کمکم کنید
هودم یه کد نوشتم که اطلاعات رو در یک جدول تو رم ذخیره می کنه ولی برای پر کردنش ارور می ده!!!!!!
۱.دوست عزیز شما کلاهت را قاضی کن بگو از مساجی که که نوشتید چطوری میشه مشکل شما درک و کمک کرد.
۲.در همین توپیک به اندازه کافی مثال پیدا میکنید که کارت را راه بندازه، در مورد بهینه بودن از چه لحاض بهینه باشد؟ یک مثال کوچک که کار کنه و بگید که چیش بهینه نیست بفرستید بهینهاش میکنند.
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
اَرژنگ
۱.دوست عزیز شما کلاهت را قاضی کن بگو از مساجی که که نوشتید چطوری میشه مشکل شما درک و کمک کرد.
۲.در همین توپیک به اندازه کافی مثال پیدا میکنید که کارت را راه بندازه، در مورد بهینه بودن از چه لحاض بهینه باشد؟ یک مثال کوچک که کار کنه و بگید که چیش بهینه نیست بفرستید بهینهاش میکنند.
دوست عزیز من با معماری سه لایه دارم پروژه ام رو می نویسم کدها ذو می ذارم
نه مثال ها واسه من مناسب نیست
دیتا بیس من شاید 2000 تا یوزر داشته باشه واسه همین تا بیاد تک تک سطرها رو کنترل کنه خیلی طول می کشه واسه همین می خوام بهینه (یعنی سرعت کم)باشه
private void Form1_Load(object sender, EventArgs e)
{
da.connect();
}
private void button1_Click(object sender, EventArgs e)
{
security sec = new security();
DataTable dt = new DataTable();
dt = sec.select();
if (dt.Rows.Count != 0)
{
Form2 f = new Form2();
f.Show();
}
else
{
MessageBox.Show("نام کاربری و رمز ورود خود را اشتباه وارد کرده اید","پیغام خطا");
}
اینم متد select
public DataTable select()
{
string s = "select username, password from security where username=@textbox1.text AND password=@textbox2.text";
DataTable dt = new DataTable();
da.connect();
dt = da.select(s);
da.disconnect();
return dt;
}
اینم لایه BLL
public class dataaccesslayer
{
public string username;
public string password;
public string servername;
public string dbname;
private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;
public dataaccesslayer()
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
}
public void connect()
{
string cs;
cs = "Data Source=.;Initial Catalog=farakhan;Integrated Security=True";
con.ConnectionString = cs;
con.Open();
}
public void connect(string cs)
{
con.ConnectionString = cs;
con.Open();
}
public void disconnect()
{
con.Close();
}
public void docommand(string s)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
public DataTable select(string s)
{
DataTable dt = new DataTable();
cmd.CommandText = s;
da.Fill(dt);
return dt;
}
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
violet87
دوست عزیز من با معماری سه لایه دارم پروژه ام رو می نویسم کدها ذو می ذارم
نه مثال ها واسه من مناسب نیست
دیتا بیس من شاید 2000 تا یوزر داشته باشه واسه همین تا بیاد تک تک سطرها رو کنترل کنه خیلی طول می کشه واسه همین می خوام بهینه (یعنی سرعت کم)باشه
private void Form1_Load(object sender, EventArgs e)
{
da.connect();
}
private void button1_Click(object sender, EventArgs e)
{
security sec = new security();
DataTable dt = new DataTable();
dt = sec.select();
if (dt.Rows.Count != 0)
{
Form2 f = new Form2();
f.Show();
}
else
{
MessageBox.Show("نام کاربری و رمز ورود خود را اشتباه وارد کرده اید","پیغام خطا");
}
اینم متد select
public DataTable select()
{
string s = "select username, password from security where username=@textbox1.text AND password=@textbox2.text";
DataTable dt = new DataTable();
da.connect();
dt = da.select(s);
da.disconnect();
return dt;
}
اینم لایه BLL
public class dataaccesslayer
{
public string username;
public string password;
public string servername;
public string dbname;
private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;
public dataaccesslayer()
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
}
public void connect()
{
string cs;
cs = "Data Source=.;Initial Catalog=farakhan;Integrated Security=True";
con.ConnectionString = cs;
con.Open();
}
public void connect(string cs)
{
con.ConnectionString = cs;
con.Open();
}
public void disconnect()
{
con.Close();
}
public void docommand(string s)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
public DataTable select(string s)
{
DataTable dt = new DataTable();
cmd.CommandText = s;
da.Fill(dt);
return dt;
}
دوست عزیز،
نمیدانم از کجا اینکه این روشی که استفاده میکنید معماری ۳ لایه است را گرفتید ولی اصلاً درست نیست. مشکل اصلی این است که
۱.در لایه نمایش فقط به لایه BLL اسم و پسورد داده بشه و ازش اینکه درست هست را یا نه را پس بگیرد نه اینکه کل یک داتا تیبل برگردانه
۲.در لایه BLL فقط به لایه DAL اسم و پسورد داده بشه و اینکه اصلاً رکوردی برگردانده میشه را ازش درست بودن اسم و پسورد را استنباط کنه و یک بولیین برگردانه
۳. در لایه داتا بیس فقط پسورد و اسم کاربر گرفته میشه و فقط یک رکوردهای که بهش بخورند برگردانده میشه.
مثالها درست بودند و اگر از روش درست ۳ لایه نویسی استفاده میشد به جواب میرسید.
۱ مثال ساده درست استفاده از ۳ لایه نویسی را در همین انجمن گزاشتم بهش یک نگاه بندازید بیشتر مشکلاتتان را حل میکند اگر هم کمک بیشتر لازم بود بفرمائید در خدمت هستیم.
یک سوال مثال معماری ۳ لایه را از کجا گرفتید؟ ، اشکالات مفهومی زیادی دارد ولی در این حالت بخصوص باید کار کند..
ولی از لحاض نتیجه اگرچه کدی که فرستادید باب مزاج من نیست ولی بازهم از لحاض کاری متد select
که استفاده میکنید فقط تعداد معدودی رکورد برمیگردانه.
میتونید همین روشتان را ادامه بدید و بازهم از لحاض بهینه بودن با همان مثالهایه موجود در این توپیک با تعداد رکوردهایی که باید چک بشه به مشکلی برنخورید.
اگرچه با سبک روشتان موافق نیستم ولی در این مورد بخصوص بهینه است. چرا فکر میکنید به اشکال برمیخوره؟
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
اَرژنگ
دوست عزیز،
نمیدانم از کجا اینکه این روشی که استفاده میکنید معماری ۳ لایه است را گرفتید ولی اصلاً درست نیست. مشکل اصلی این است که
۱.در لایه نمایش فقط به لایه BLL اسم و پسورد داده بشه و ازش اینکه درست هست را یا نه را پس بگیرد نه اینکه کل یک داتا تیبل برگردانه
۲.در لایه BLL فقط به لایه DAL اسم و پسورد داده بشه و اینکه اصلاً رکوردی برگردانده میشه را ازش درست بودن اسم و پسورد را استنباط کنه و یک بولیین برگردانه
۳. در لایه داتا بیس فقط پسورد و اسم کاربر گرفته میشه و فقط یک رکوردهای که بهش بخورند برگردانده میشه.
مثالها درست بودند و اگر از روش درست ۳ لایه نویسی استفاده میشد به جواب میرسید.
۱ مثال ساده درست استفاده از ۳ لایه نویسی را در همین انجمن گزاشتم بهش یک نگاه بندازید بیشتر مشکلاتتان را حل میکند اگر هم کمک بیشتر لازم بود بفرمائید در خدمت هستیم.
یک سوال مثال معماری ۳ لایه را از کجا گرفتید؟ ، اشکالات مفهومی زیادی دارد ولی در این حالت بخصوص باید کار کند..
ولی از لحاض نتیجه اگرچه کدی که فرستادید باب مزاج من نیست ولی بازهم از لحاض کاری متد select
که استفاده میکنید فقط تعداد معدودی رکورد برمیگردانه.
میتونید همین روشتان را ادامه بدید و بازهم از لحاض بهینه بودن با همان مثالهایه موجود در این توپیک با تعداد رکوردهایی که باید چک بشه به مشکلی برنخورید.
اگرچه با سبک روشتان موافق نیستم ولی در این مورد بخصوص بهینه است. چرا فکر میکنید به اشکال برمیخوره؟
مرسی از راهنماییت دوست عزیز ولی من وقتی این فرم را اجرا می کنم در قسمت زیریه نوع استثنا میده که نمی دونم چیکارش کنم
da.Fill(dt);
اینم استثنا
Must declare the scalar variable "@textbox1".
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
violet87
مرسی از راهنماییت دوست عزیز ولی من وقتی این فرم را اجرا می کنم در قسمت زیریه نوع استثنا میده که نمی دونم چیکارش کنم
da.Fill(dt);
اینم استثنا
Must declare the scalar variable "@textbox1".
اگرچه با این گونه کد بافی خصومت دارم ولی برایه اینکه کارتان فعلاً راه بیافته (و بعداً به مشکلات بر بخورید)، به این شکل کج و ماوجش کنید کار میکند:
string s = "select username, password from security where username="+textbox1.text+" AND password="+ textbox2.text;
ولی این نوع کد نویسی از بنا خراب است و روشهایه درست را پیگیری کنید.
موفق باشید
نقل قول: مشکل در طراحی فرم LOGIN
سلام:لبخندساده:
دوستان خسته نباشید :تشویق:
من می خوام این برنامه رو گسترش بدم و یه جوری بشه که کاربر با سطح دسترسی مختلف داشته باشم و همچنین کاربر بتونه یوزر و پسورد رو عوض کنه
لطفا کمک و راهنمایی کنید.:متفکر:
نقل قول: مشکل در طراحی فرم LOGIN
من برای برنامه یوزر و پسورد از مثال کتاب آقای سید محمد هاشمیان ( با عنوان آموزش ویژوال C#2005 )استفاده کردم. خوبی این مثال اینه که یک کتابخانه فرم با نام login درست می کنی و تو هر برنامه که خواستی از استفاده می کنی. وقتی من از این برنامه استفاده کردم چندین مشکل برخوردم
اول اینکه تو زمان ساختن کتابخانه فرم و در تابع کنترل کننده بستن پنجره به متغیر e گیر می ده و میگه که متغیر e دارای خصوصیت cancel نیست (تابع نوشته شده در صفحه 515)
دوما در زمان استفاده از این کتابخانه فرم در پروژه (در صفحه 523) اصلا پنجره مربوط به login ظاهر نمیشه .
FormsLibrary.rar
اگه من رو کمک کنید ممنون میشم:ناراحت:
نقل قول: مشکل در طراحی فرم LOGIN
نقل قول:
نوشته شده توسط
elec645
من برای برنامه یوزر و پسورد از مثال کتاب آقای سید محمد هاشمیان ( با عنوان آموزش ویژوال C#2005 )استفاده کردم. خوبی این مثال اینه که یک کتابخانه فرم با نام login درست می کنی و تو هر برنامه که خواستی از استفاده می کنی. وقتی من از این برنامه استفاده کردم چندین مشکل برخوردم
اول اینکه تو زمان ساختن کتابخانه فرم و در تابع کنترل کننده بستن پنجره به متغیر e گیر می ده و میگه که متغیر e دارای خصوصیت cancel نیست (تابع نوشته شده در صفحه 515)
دوما در زمان استفاده از این کتابخانه فرم در پروژه (در صفحه 523) اصلا پنجره مربوط به login ظاهر نمیشه .
FormsLibrary.rar
اگه من رو کمک کنید ممنون میشم:ناراحت:
واقعاً که جایه تاسف دارد که مثالهایی که برایه یادگیری ساخته میشند به این حد گیج و گمراه کننده هستند.
به مثالی که فرستادید نگاه انداختم، به درست کردن نمیارزه و مثال سادهتر و بهتر را در همین توپیک پیدا میکنید:
۱ مثال ساده که برایه شروع استفاده بشه را من در همین توپیک فرساتدم ازش استفاده کنید.
یک مثال بسیار بهتر که واقعاً به یادگیری کمک کند مثال جناب سین پین است که در همین توپیک میشه پیداش کرد.
این مثالی که فرستادید را بیجهت زمانتان را بر روش هدر ندید.
نقل قول: مشکل در طراحی فرم LOGIN
با سلام.
ایا اصولی هست که مثال جناب سین پین رو با Setting تغییر پسوورد داد ؟
منظورم اینه کلا امکان تغییر پسوورد رو با Setting براش فراهم بکنیم ؟
با تشکر