PDA

View Full Version : هم آموزش هم پرسش



Mahdi_110
شنبه 30 اردیبهشت 1391, 21:57 عصر
برای اتصال به پایگاه داده به صورت دستی میتوانید :
1 - در app.config یک ConnectionString تعریف کنید

app.config

<configuration>
<appSettings>
<add key ="ConnectionString" value="data source=(local); initial catalog=t1; User ID=sa; Password=1;"/>
</appSettings>
</configuration>

2 - یک کلاس به نام Singleton و یا هر نامی که میخواهید ایجاد کنید

namespace test
{
public class Singleton
{
//public static string ConnectionString = "data source=192.168.1.103; initial catalog=test; User ID=sa; Password=1;";
public static string ConnectionString
{
get
{
System.Configuration.Configuration manager = System.Configuration.ConfigurationManager.OpenExeC onfiguration(System.Windows.Forms.Application.Exec utablePath);
System.Configuration.AppSettingsSection section = manager.AppSettings;
return section.Settings["ConnectionString"].Value;
}
}
public static string CurrentUserCaption = string.Empty;
}
}

این کد به شما این امکان را میدهد تا به اولین ConnectionString که تعریف کرده اید دسترسی پیدا کنید

3 - یک کلاس به نام DataAccessLayer یا هر نام دیگه می خواهید ایجاد کنید تا query هایتان را به صورت دستی در تابع بنویسید . (برای مثال تابع جستجوی نام کاربری و رمز عبور)

DataAccessLayer.cs

public DataRow GetUser(string userName, string password)
{
DataTable dt = new DataTable();
DataRow row = null;

SqlConnection con = new SqlConnection(this.ConnectionString);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from Users where userName=@userName and password=@password";
cmd.Parameters.AddWithValue("@userName", userName);
cmd.Parameters.AddWithValue("@password", password);

con.Open();
dt.Load(cmd.ExecuteReader());
con.Close();

if (dt.Rows.Count > 0)
row = dt.Rows[0];
return row;
}

4 - در هر جای برنامه که خواستید میتوانید استفاده کنید (کد برای login شدن است)

DataAccessLayer dal = new DataAccessLayer(Singleton.ConnectionString);
DataRow row = dal.GetUser(this.txtUserName.Text, this.txtPass.Text);
if (row != null)
{
Singleton.CurrentUserCaption = row["UserCaption"].ToString();
this.DialogResult = DialogResult.OK;
}
else
MessageBox.Show("نام کاربري يا رمز عبور اشتباه است", "بررسي اطلاعات ورودي", MessageBoxButtons.OK, MessageBoxIcon.Warning);


حال سئوال من این است برای استفاده از این کد ها در وب چه تغییری در کد ها و در کجا می بایست نوشت لطفا کسی که بلد هست به همین ترتیبی که من نوشتم بنویسد تا هم جواب سئوال باشد و هم نوعی آموزش .
از صبر و شکیبایی مدیران سایت و دوستان ممنونم .