seven7777777
چهارشنبه 09 اردیبهشت 1388, 16:27 عصر
دوستان من با کمک شما شروع به نوشتن کلاس کردم . الان یه کلاس واسه کاربران نوشتم که کدش در زیر :
class Users
{
private string _code;
private string _fname;
private string _lname;
private bool _sex;
private string _intcode;
private string _username;
private string _password;
public Users()
{
_code = _fname = _lname = _intcode = _username = _password = String.Empty;
_sex = false;
}
public Users(string code)
{
try
{
if (IsExist("Members", "code=" + code))
{
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT fname,lname,sex,intcode FROM Members WHERE code=@c";
com.Parameters.AddWithValue("@c", code);
SqlDataReader reader = com.ExecuteReader();
reader.Read();
_code = code;
_fname = reader.GetString(0);
_lname = reader.GetString(1);
_sex = reader.GetBoolean(2);
_intcode = reader.GetString(3);
}
}
catch (Exception ex)
{
}
}
public string code
{
get { return _code; }
set { _code = value; }
}
public string fname
{
get { return _fname; }
set { _fname = value; }
}
public string lname
{
get { return _lname; }
set { _lname = value; }
}
public bool sex
{
get { return _sex; }
set { _sex = value; }
}
public string intcode
{
get { return _intcode; }
set { _intcode = value; }
}
public string username
{
get { return _username; }
set { _username = value; }
}
public string password
{
get { return _password; }
set { _password = value; }
}
privatestatic SqlConnection New_Connection()
{
SqlConnection _sqlcon = newSqlConnection();
_sqlcon.ConnectionString = "Data Source=(local);Initial Catalog=Sharif_Res_DB;Integrated Security=True";
_sqlcon.Open();
return _sqlcon;
}
publicbool IsExist(string table, string whcol)
{
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT COUNT(id) FROM " + table + " WHERE " + whcol;
int num = Convert.ToInt32(com.ExecuteScalar());
com.Connection.Close();
if (num > 0)
return true;
return false;
}
public string New_Percode()
{
string _percode = String.Empty;
SqlCommand com = newSqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT MAX(id) FROM Users";
SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
_percode = (reader.GetInt32(0) + 1).ToString();
else
_percode = "10000";
_percode = PersianDate.Now.Year.ToString().Substring(2, 2) + _percode + "000";
reader.Close();
com.Connection.Close();
return _percode;
}
public bool Reg_NewUser()
{
try
{
string subcol = String.Empty;
string subval = String.Empty;
if (!String.IsNullOrEmpty(_intcode))
{
subcol = ",intcode";
subval = ",@i";
}
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "INSERT INTO Users (code,fname,lname,sex" + subcol + ") VALUES (";
com.CommandText += "@c,@f,@l,@s" + subval + ")";
com.Parameters.AddWithValue("@c", _code);
com.Parameters.AddWithValue("@f", _fname);
com.Parameters.AddWithValue("@l", _lname);
com.Parameters.AddWithValue("@s", _sex);
try
{
com.Parameters.AddWithValue("@i", _intcode);
}
catch (Exception ex)
{
}
com.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
public static bool Del_User(string code)
{
try
{
SqlCommand com = newSqlCommand();
com.Connection = New_Connection();
com.CommandText = "DELETE FROM Users WHERE code=@c";
com.Parameters.AddWithValue("@c", code);
com.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{
return false;
}
}
public bool Update_User()
{
return true;
}
}
حالا چند سوال :
1. درست نوشتم یعنی قوانین توش رعایت شده ؟
2. به عنوان مثال من فیلد کد ملی کاربر رو در دیتابیس NULL گذاشتم . حالا این که چک کنم که اگه این متغیر در برنامه مقدار نداره یا اگه داره باید در کلاس اعمال بشه یا کلاس باید به شکل کلی نوشته بشه و من این حالت رو در برنامم چک کنم ؟ ( مثلا من اومدم و تو کلاس اینو چک کردم ، در تابع Reg_NewUser())
3. کلا راهی هست که چک کنیم اگه برخی متغیرهای اجباری در فرم مثل نام خالی هستند ، ما بفهمیم یا باید حتما تک تک اونها چک بشن ؟
4. من می خوام کلاس Members رو هم بنویسم که از این کلاس به ارث ببره ، اینم یه توضیح بدین لطفا .
پیشاپیش هم تشکر می کنم
class Users
{
private string _code;
private string _fname;
private string _lname;
private bool _sex;
private string _intcode;
private string _username;
private string _password;
public Users()
{
_code = _fname = _lname = _intcode = _username = _password = String.Empty;
_sex = false;
}
public Users(string code)
{
try
{
if (IsExist("Members", "code=" + code))
{
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT fname,lname,sex,intcode FROM Members WHERE code=@c";
com.Parameters.AddWithValue("@c", code);
SqlDataReader reader = com.ExecuteReader();
reader.Read();
_code = code;
_fname = reader.GetString(0);
_lname = reader.GetString(1);
_sex = reader.GetBoolean(2);
_intcode = reader.GetString(3);
}
}
catch (Exception ex)
{
}
}
public string code
{
get { return _code; }
set { _code = value; }
}
public string fname
{
get { return _fname; }
set { _fname = value; }
}
public string lname
{
get { return _lname; }
set { _lname = value; }
}
public bool sex
{
get { return _sex; }
set { _sex = value; }
}
public string intcode
{
get { return _intcode; }
set { _intcode = value; }
}
public string username
{
get { return _username; }
set { _username = value; }
}
public string password
{
get { return _password; }
set { _password = value; }
}
privatestatic SqlConnection New_Connection()
{
SqlConnection _sqlcon = newSqlConnection();
_sqlcon.ConnectionString = "Data Source=(local);Initial Catalog=Sharif_Res_DB;Integrated Security=True";
_sqlcon.Open();
return _sqlcon;
}
publicbool IsExist(string table, string whcol)
{
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT COUNT(id) FROM " + table + " WHERE " + whcol;
int num = Convert.ToInt32(com.ExecuteScalar());
com.Connection.Close();
if (num > 0)
return true;
return false;
}
public string New_Percode()
{
string _percode = String.Empty;
SqlCommand com = newSqlCommand();
com.Connection = New_Connection();
com.CommandText = "SELECT MAX(id) FROM Users";
SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
_percode = (reader.GetInt32(0) + 1).ToString();
else
_percode = "10000";
_percode = PersianDate.Now.Year.ToString().Substring(2, 2) + _percode + "000";
reader.Close();
com.Connection.Close();
return _percode;
}
public bool Reg_NewUser()
{
try
{
string subcol = String.Empty;
string subval = String.Empty;
if (!String.IsNullOrEmpty(_intcode))
{
subcol = ",intcode";
subval = ",@i";
}
SqlCommand com = new SqlCommand();
com.Connection = New_Connection();
com.CommandText = "INSERT INTO Users (code,fname,lname,sex" + subcol + ") VALUES (";
com.CommandText += "@c,@f,@l,@s" + subval + ")";
com.Parameters.AddWithValue("@c", _code);
com.Parameters.AddWithValue("@f", _fname);
com.Parameters.AddWithValue("@l", _lname);
com.Parameters.AddWithValue("@s", _sex);
try
{
com.Parameters.AddWithValue("@i", _intcode);
}
catch (Exception ex)
{
}
com.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
public static bool Del_User(string code)
{
try
{
SqlCommand com = newSqlCommand();
com.Connection = New_Connection();
com.CommandText = "DELETE FROM Users WHERE code=@c";
com.Parameters.AddWithValue("@c", code);
com.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{
return false;
}
}
public bool Update_User()
{
return true;
}
}
حالا چند سوال :
1. درست نوشتم یعنی قوانین توش رعایت شده ؟
2. به عنوان مثال من فیلد کد ملی کاربر رو در دیتابیس NULL گذاشتم . حالا این که چک کنم که اگه این متغیر در برنامه مقدار نداره یا اگه داره باید در کلاس اعمال بشه یا کلاس باید به شکل کلی نوشته بشه و من این حالت رو در برنامم چک کنم ؟ ( مثلا من اومدم و تو کلاس اینو چک کردم ، در تابع Reg_NewUser())
3. کلا راهی هست که چک کنیم اگه برخی متغیرهای اجباری در فرم مثل نام خالی هستند ، ما بفهمیم یا باید حتما تک تک اونها چک بشن ؟
4. من می خوام کلاس Members رو هم بنویسم که از این کلاس به ارث ببره ، اینم یه توضیح بدین لطفا .
پیشاپیش هم تشکر می کنم