PDA

View Full Version : سوال: نمایش داده های جدول با استفاده از کلاس ها



veniz2008
شنبه 17 دی 1390, 12:56 عصر
سلام دوستان،من همیشه برای نمایش اطلاعات جدولم درون یک گریدویو از کدهای زیر استفاده میکردم:

SqlConnection conn = new SqlConnection("Data Source = (local);Initial Catalog=US_DB;Integrated Security=True");
conn.Open();
SqlDataAdapter Adapter = new SqlDataAdapter("SELECT * FROM Dars where Code =" +TextBox1.Text, conn);
DataTable dt = new DataTable();
Adapter.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();

،حالا این ترم استادمون گیر داده که بایستی با استفاده از یک کلاس به sql وصل بشید و داده ها رو نمایش بدید،من هیچی در این باره نمیدونم،لطفا راهنمایی کنید که باید چه مراحلی رو انجام بدم،خواهشا کامل بگید چون اطلاعاتم در این باره کمه،تشکر.

hamid_shrk
شنبه 17 دی 1390, 13:00 عصر
سلام
راجع به معماری چند لایه تو سایت سرچ کنید

alonemm
شنبه 17 دی 1390, 14:46 عصر
باسلام:
در ساده ترین راه:
یک کلاس بساز.
یک متود بساز که مقدار برگشتیش از جنس DataTable باشه.
بعد در هر صفحه از این کلاس برای بایند هات استفاده کن.

موفق باشد.

veniz2008
شنبه 17 دی 1390, 16:59 عصر
یکی از دوستان کدهای مربوط به این کلاس رو برام گذاشته ولی نمیدونم که برای نمایش داده ها داخل گرید ویو چطوری باید از این کدها استفاده کنم(یعنی داخل دکمه ای که گذاشتم و قراره با زدن این دکمه گرید من از داده های جدول پر بشه چه کدی رو باید بنویسم؟،چطوری باید اسم کلاس رو صدا زد و از مقدار برگشتی استفاده کرد؟)
کدهای مربوط به کلاس:

using System;
using System.Collections.Generic;

using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
namespace EspadanaDll
{
public class ESDB
{

public static string Error = "";
public string ServerName = Environment.MachineName;
public string DBName = "";
public static string username = "";
public string databasefile;
public string logfile;
public string backupaddress;
public static string password = "";
SqlConnection connection;
SqlCommand command;
SqlDataAdapter dataadapter;
public ESDB()
{
ServerName = Environment.MachineName;
connection = new SqlConnection();
command = new SqlCommand();
dataadapter = new SqlDataAdapter();
command.Connection = connection;
dataadapter.SelectCommand = command;
}
public void connect()
{
string cs = "Data Source=(local);Initial Catalog=upload1;Integrated Security=True";

try
{

connection.ConnectionString = cs;
connection.Open();

}
catch
{
Error += "خطای 1100_خطا در اتصال به بانک اطلاعاتی";
}



}
public void disconnect()
{
connection.Close();
}
public DataTable select(string sqlselect)
{
DataTable datatable = new DataTable();
try
{
command.CommandText = sqlselect;
dataadapter.Fill(datatable);
}
catch
{
Error += "خطای 1101_خطا در خواندن اطلاعات";
}
return datatable;
}
public void docommand(string sqlcommand)
{
try
{
command.CommandText = sqlcommand;
command.ExecuteNonQuery();
}
catch
{
Error += "خطای 1102_خطا در اجرای دستورات";
}
}
public DataTable selectforCR(string sql)
{
DataTable dt = new DataTable();
connect();
command.CommandText = sql;
dataadapter.Fill(dt);
disconnect();
return dt;
}

}
}

fakhravari
شنبه 17 دی 1390, 18:12 عصر
به این روش.
using System;
using System.Collections.Generic;

using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
namespace EspadanaDll
{
public class ESDB
{

public string Error = "";
public string ServerName = Environment.MachineName;
public string DBName = "";
public static string username = "";
public string databasefile;
public string logfile;
public string backupaddress;
public static string password = "";
SqlConnection connection;
SqlCommand command;
SqlDataAdapter dataadapter;
public ESDB()
{
ServerName = Environment.MachineName;
connection = new SqlConnection();
command = new SqlCommand();
dataadapter = new SqlDataAdapter();
command.Connection = connection;
dataadapter.SelectCommand = command;
}
public void connect()
{
// string cs = "Data Source=(local);Initial Catalog=upload1;Integrated Security=True";
string cs = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\B_WEB.mdf;Integrated Security=True;User Instance=True";
try
{

connection.ConnectionString = cs;
connection.Open();

}
catch
{
Error += "خطای 1100_خطا در اتصال به بانک اطلاعاتی";
}



}


public void disconnect()
{
connection.Close();
}


public DataTable select(string sqlselect)
{
DataTable datatable = new DataTable();
try
{
command.CommandText = sqlselect;
dataadapter.Fill(datatable);
}
catch
{
Error += "خطای 1101_خطا در خواندن اطلاعات";
}
return datatable;
}
public void docommand(string sqlcommand)
{
try
{
command.CommandText = sqlcommand;
command.ExecuteNonQuery();
}
catch
{
Error += "خطای 1102_خطا در اجرای دستورات";
}
}
public DataTable selectforCR(string sql)
{
DataTable dt = new DataTable();
connect();
command.CommandText = sql;
dataadapter.Fill(dt);
disconnect();
return dt;
}

}
}


protected void Button1_Click(object sender, EventArgs e)
{
string sql = "select * from Ostad";
EspadanaDll.ESDB test = new EspadanaDll.ESDB();

test.connect();
GridView1.DataSource = test.select(sql);
GridView1.DataBind();
test.disconnect();

Label1.Text = test.Error.ToString();


}
protected void Button2_Click(object sender, EventArgs e)
{
EspadanaDll.ESDB test = new EspadanaDll.ESDB();
string sql = "INSERT INTO [User] ([name], [pass])";
sql += "VALUES ('{0}','{1}')";
sql = string.Format(sql,
TextBox1.Text,
TextBox2.Text);
test.connect();
test.docommand(sql);
test.disconnect();

Label1.Text = test.Error.ToString();
}