PDA

View Full Version : توضیح کد برنامه



mary3541
جمعه 17 مهر 1388, 08:12 صبح
این کد چه معنیی داره؟


if (ds.Tables["Login"].Rows.Count != 0)
return true;
else
return false;

اَرژنگ
جمعه 17 مهر 1388, 08:27 صبح
این کد چه معنیی داره؟


if (ds.Tables["Login"].Rows.Count != 0)
returntrue;
else
returnfalse;


این (روش اشتباهی است) که ببینند یکی لگین دارد یا نه. بقیه‌اش را هم بفرستید که ساختمانی که این درش بکار رفته را هم ببینیم. به همچین چیزی "کد" گفتن درست نیست. اگر یکمقداری از کد دوره ورش بیشتر بفرستید، روش درستش را میفرستیم. لطفا اینکه این کد را کجا بدست آوردید را هم بفرستید

mary3541
جمعه 17 مهر 1388, 10:09 صبح
برای login کردن به برنامه اول user و password رو میخواد
از یه نفر خواستم اون هم این کد رو برام فرستاد
توی قسمت datalayer


public Boolean Login(object UserName, object Pass)
{
SqlConnection con = new SqlConnection("data source=.\\sqlexpress;attachdbfilename=|datadirecto ry|\\academy.mdf;integrated security=true; user instance=true");
SqlDataAdapter sda = new SqlDataAdapter("select * from Login where UserName=@UserName and Pass=@Pass", con);
sda.SelectCommand.CommandType = CommandType.Text;
sda.SelectCommand.Parameters.AddWithValue("@UserName", UserName);
sda.SelectCommand.Parameters.AddWithValue("@Pass", Pass);
DataSet ds = new DataSet();
sda.Fill(ds, "Login");
if (ds.Tables["Login"].Rows.Count != 0)
return true;
else
return false;
}

اَرژنگ
جمعه 17 مهر 1388, 10:26 صبح
برای login کردن به برنامه اول user و password رو میخواد
از یه نفر خواستم اون هم این کد رو برام فرستاد
توی قسمت datalayer


publicBoolean Login(object UserName, object Pass)
{
SqlConnection con = newSqlConnection("data source=.\\sqlexpress;attachdbfilename=|datadirecto ry|\\academy.mdf;integrated security=true; user instance=true");
SqlDataAdapter sda = newSqlDataAdapter("select * from Login where UserName=@UserName and Pass=@Pass", con);
sda.SelectCommand.CommandType = CommandType.Text;
sda.SelectCommand.Parameters.AddWithValue("@UserNa me", UserName);
sda.SelectCommand.Parameters.AddWithValue("@Pass", Pass);
DataSet ds = newDataSet();
sda.Fill(ds, "Login");
if (ds.Tables["Login"].Rows.Count != 0)
returntrue;
else
returnfalse;
}


این روش، روش اشتباه قدیمی است. روش درست : http://msdn.microsoft.com/en-us/library/ms998300.aspx نگهداری اسامی و لگینها به شکل دستی در داتابیش خلاف اصول امنیتی است. برایه طبقه بندی دسترسیها از Dot Net Role Based Security and Active Directory استفاده کنید. البته اگر هدف یاد گیری واقعی است، ولی برایه پس کردن واحد دانشگاهی بیخیال همه چیزهایه که گفتم، هنوز به دانشگاهی برنخوردم که از اصول خبر داشته باشند. اگر زمانتان کمه و یک پروژه حاظر دارید، همه حرفهایه من رو فرِاموش کنید، ولی برایه یادگیری خودتان بهشان یک نگاه بندازید. پیروز باشید

اَرژنگ
جمعه 17 مهر 1388, 10:37 صبح
این کد چه معنیی داره؟<br />

<font size="2"><font color="#0000ff"><br />
if</font></font><font size="2"> (ds.Tables[</font><font size="2"><font color="#a31515">&quot;Login&quot;</font></font><font size="2">].Rows.Count != 0)<br />
</font><font size="2"><font color="#0000ff">return</font></font><font size="2"><font color="#0000ff">true</font></font><font size="2">;<br />
</font><font size="2"><font color="#0000ff">else<br />
</font></font><font size="2"><font color="#0000ff">return</font></font><font size="2"><font color="#0000ff">false</font></font><font size="2">;<br />
</font><br />
<br />

یادم رفت معنی کد را بگم:
اگر تعداد رکورها در تیبل بیشتر از صفر بود، لگین و پوردی که داد شده در جدول وجود داشته و بنابراین قابلیت لکین درست است.


publicBoolean Login(object UserName, object Pass)
را به


public Boolean Login(string UserName, string Pass)



عوض کنید، یکمی بهتر است :گریه: