PDA

View Full Version : کمک درباره کلاس sqlHelper



omid6630
پنج شنبه 25 شهریور 1389, 15:25 عصر
با سلام

در پروژم یک کلاس دارم با نام sqlHelper . کارش اینه که ارتباط با sqlServer رو راحت کرده....دیگه نیازی نیست کانکشن باز کنی و ببندی و ..... همه کارها رو خودش میکنه ...

فقط اینکه باید از این کلاس چطوری استفاده کرد؟؟؟

در windows Application از این کلاس بخوبی استفاده کردم .... اما در asp نمیدونم چطوری میشه استفاده کرد؟

متشکرم

imanasp
پنج شنبه 25 شهریور 1389, 15:32 عصر
با سلام

در پروژم یک کلاس دارم با نام sqlHelper . کارش اینه که ارتباط با sqlServer رو راحت کرده....دیگه نیازی نیست کانکشن باز کنی و ببندی و ..... همه کارها رو خودش میکنه ...

فقط اینکه باید از این کلاس چطوری استفاده کرد؟؟؟

در windows Application از این کلاس بخوبی استفاده کردم .... اما در asp نمیدونم چطوری میشه استفاده کرد؟

متشکرم
احتمالا کلاسی رو که بیان کردید توی یک پروژه فروشگاه الکترونیکی نیست؟؟
هیچی فقط SqlHelper رو اول یک شی ازش ایجاد می کنید و بعد باهاش کار میکنید

omid6630
پنج شنبه 25 شهریور 1389, 15:43 عصر
مشکل اینه که از اون نمیشه یک شیئ ایجاد کنی...در قسمت ایجاد یک Object اسم کلاس sqlhelper رو نمیاره تا بتونم از اون استفاده منم

omid6630
پنج شنبه 25 شهریور 1389, 16:05 عصر
مشکل اینه که از اون نمیشه یک شیئ ایجاد کنی...در قسمت ایجاد یک Object اسم کلاس sqlhelper رو نمیاره تا بتونم از اون استفاده منم

کسی نیست که جواب بده؟؟؟؟؟؟
لازم دارم

L u k e
پنج شنبه 25 شهریور 1389, 16:54 عصر
کافیه که Dll شو ادد کنید و این NameSpace رو توی لیست Using اضافه کنید
Microsoft.ApplicationBlocks.Data;

بعد می تونی به این صورت ازش استفاده کنید


int a =(int)SqlHelper.ExecuteScalar(MyCnstring,"Select * From MyTbl");

omid6630
جمعه 26 شهریور 1389, 03:29 صبح
سوالم رو اصلاح میکنم...

یک کلاس دارم با نام sqlHelper که به برنامه اضافه کردم...

حالا میخوام از اون کلاس استفاده کنم ، یعنی میخوام یک شیئ از اون بگیرم...

همین جا مشکل دارم.... هرچی میخوام که این کار رو بکنم نمیشه.....

باید اسم اون کلاس رو بیاره تا بتونم به شیئ بگریم !

mohsen_zelzela00
جمعه 26 شهریور 1389, 10:20 صبح
سوالم رو اصلاح میکنم...

یک کلاس دارم با نام sqlHelper که به برنامه اضافه کردم...

حالا میخوام از اون کلاس استفاده کنم ، یعنی میخوام یک شیئ از اون بگیرم...

همین جا مشکل دارم.... هرچی میخوام که این کار رو بکنم نمیشه.....

باید اسم اون کلاس رو بیاره تا بتونم به شیئ بگریم !

دوست عزیز تا کلاس خودتون رو اینجا نزارید کسی نمی تونه به شما کمک کنه چون باید ساختار کد اونو ببینند بعداً کمک کنند با علم غیب که نمیشه

omid6630
جمعه 26 شهریور 1389, 21:56 عصر
دوست عزیز تا کلاس خودتون رو اینجا نزارید کسی نمی تونه به شما کمک کنه چون باید ساختار کد اونو ببینند بعداً کمک کنند با علم غیب که نمیشه

using System

using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace WindowsFormsApplication1
{

public class SqlHelper
{

public static string strConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=accounting;Integrated Security=True";// Clsmlk.SQHlp1;
// public static string strConnectionString = @"Data Source=Client1\guest;Initial Catalog="+strgorgannos+";Integrated Security=true ";
// @"Data Source=192.168.70.22;Initial Catalog="+strgorgannos+";Integrated Security=false;User ID='taha2';Password='123456';Pooling=true";
public SqlHelper()
{

}

public int ExecuteNonQuery(string query)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("INSERT") | query.StartsWith("insert") | query.StartsWith("UPDATE") | query.StartsWith("update") | query.StartsWith("DELETE") | query.StartsWith("delete"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
int retval;
try
{
cnn.Open();
retval = cmd.ExecuteNonQuery();
}
catch (Exception exp )
{
throw exp;

}
finally
{
if (cnn.State == ConnectionState.Open)
{
cnn.Close();
}
}
return retval;
}

public int ExecuteNonQuery(string query, params SqlParameter[] parameters)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("INSERT") | query.StartsWith("insert") | query.StartsWith("UPDATE") | query.StartsWith("update") | query.StartsWith("DELETE") | query.StartsWith("delete"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
for (int i = 0; i <= parameters.Length - 1; i++)
{
cmd.Parameters.Add(parameters[i]);
}
cnn.Open();
int retval = cmd.ExecuteNonQuery();
cnn.Close();
return retval;
}

public object ExecuteScalar(string query)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
cnn.Open();
object retval = cmd.ExecuteNonQuery();
cnn.Close();
return retval;
}

public object ExecuteScalar(string query, params SqlParameter[] parameters)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
for (int i = 0; i <= parameters.Length - 1; i++)
{
cmd.Parameters.Add(parameters[i]);
}
cnn.Open();
object retval = cmd.ExecuteScalar();
cnn.Close();
return retval;
}

public SqlDataReader ExecuteReader(string query)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;

}
else
{
cmd.CommandType = CommandType.StoredProcedure;

}
cnn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection) ;
}

public SqlDataReader ExecuteReader(string query, params SqlParameter[] parameters)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
for (int i = 0; i <= parameters.Length - 1; i++)
{
cmd.Parameters.Add(parameters[i]);
}
cnn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection) ;
}

public DataSet ExecuteDataSet(string query)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}

public DataSet ExecuteDataSet(string query, params SqlParameter[] parameters)
{
SqlConnection cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
for (int i = 0; i <= parameters.Length - 1; i++)
{
cmd.Parameters.Add(parameters[i]);
}
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}

public string strconn()
{
return strConnectionString;
}
}
}

naser2009
شنبه 27 شهریور 1389, 01:00 صبح
سلام دوسته من
به نظره من از این برنامه آقای کرامتی استفاده کنی خیلی بهتر باشه

من استفاده کردم خیلی خوب بود (البته اگه با ado.net کار میکنی و linq کار نمیکنی)

اگه سه لایه هم کار می کنی که لایه dal رو هم بهت میده

اینم لینکش (http://barnamenevis.org/forum/showthread.php?t=87372)

موفق باشی:لبخندساده:

Roia_del
شنبه 27 شهریور 1389, 10:36 صبح
سلام ،
توجه کنید که فضای نامی شما WindowsFormsApplication1 می باشد:

namespace WindowsFormsApplication1

در نتیجه باید به صورت زیر استفاده کنید:

WindowsFormsApplication1.SQLHelper

البته می تونید namespace WindowsFormsApplication1 رو پاک کنید به اضافه {} های اول و آخر بعد درست کار می کنه.اگه اونم کار نکرد بعد از پاک کردن اونی که گفتم . فایل کلاست رو تو پوشه App_Code بنداز و معمولی استفاده کن.
اگه کار نکرد .... در خدمتم.