PDA

View Full Version : سوال: بهترین و امنترین راه اتصال به Sql ?



My_LoVe_IRAN
سه شنبه 06 اسفند 1392, 23:32 عصر
سلام
من برای اتصال به دیتابیس از کد زیر استفاده میکنم ،میخاستم بدونم آیا راهی بهتر از این و امن تر و سریعتر وجود داره ؟
مشکلای روش من چیه ؟ آیا امن هست این کار ؟ sqlinjection نمیخوره ؟


#region Helper Methods
public static ClsEmployer GetObjectFromDataReader(SqlDataReader reader)
{
ClsEmployer Value = new ClsEmployer();
if (reader != null && !reader.IsClosed)
{
if (!reader.IsDBNull(reader.GetOrdinal("Name"))) Value.Name = reader.GetString(reader.GetOrdinal("Name"));

if (!reader.IsDBNull(reader.GetOrdinal("Email"))) Value.Email = reader.GetString(reader.GetOrdinal("Email"));
if (!reader.IsDBNull(reader.GetOrdinal("Password"))) Value.Password = reader.GetString(reader.GetOrdinal("Password"));
if (!reader.IsDBNull(reader.GetOrdinal("Phone"))) Value.Phone = reader.GetString(reader.GetOrdinal("Phone"));
if (!reader.IsDBNull(reader.GetOrdinal("Code"))) Value.Code = reader.GetString(reader.GetOrdinal("Code"));

return Value;
}
return null;
}
#endregion Helper Methods


#region Select Methods
public static ClsEmployer GetByEmployerID(string Email)
{
SqlCommand command = new SqlCommand("Select * From tblUser Where Email=@Email", DataBase.Connection);
command.Parameters.AddWithValue("@Email", Email);
try
{
command.Connection.Open();
SqlDataReader reader = command.ExecuteReader();
ClsEmployer value = null;
while (reader.Read())
{
value = GetObjectFromDataReader(reader);
}
if (!reader.IsClosed)
reader.Close();
return value;
}
finally
{
command.Connection.Close();
}
}
#endregion Select Methods

VRAnonymous
چهارشنبه 07 اسفند 1392, 08:32 صبح
نه مطمئن باش که نمیخوره
فقط اینو هم بزار تا یه بررسی کنم :
DataBase.Connection

My_LoVe_IRAN
چهارشنبه 07 اسفند 1392, 20:34 عصر
نه مطمئن باش که نمیخوره
فقط اینو هم بزار تا یه بررسی کنم :
DataBase.Connection

اون که چیز خاصی نیست !!!


public class DataBase
{
public static SqlConnection Connection
{
get
{
return new SqlConnection(DataAccessSeting.ConnectionString);
}
}
}

اینم connection string هست
public static string ConnectionString
{
get
{
return System.Configuration.ConfigurationManager.Connecti onStrings["AraJobsConnectionString"].ConnectionString;
}
}

My_LoVe_IRAN
پنج شنبه 08 اسفند 1392, 18:51 عصر
یه سوال داشتم
چطور با این روش میتونم پروسجر رو صدا بزنم ؟ هر کاری میکنم خطا میده !!!
GetObjectFromDataReader
این تابع خطا میده

VRAnonymous
سه شنبه 13 اسفند 1392, 11:04 صبح
بستگی به خروجی پروسیجر داره
به ازای هر خروجی باید یه تابع خاص از DataReader رو صدا بزنی