behnam_khademi
شنبه 11 شهریور 1391, 20:59 عصر
با سلام
من یک PROCEDURE دارم به فرم زیر:
@ID_Personel
int =NULL,
@Name
nvarchar(20)=NULL,
@Family
nvarchar(30)=NULL
AS
SELECT * FROM BS_Tb_personel btp
WHERE IDPersonel LIKECOALESCE(@ID_Personel,IDPersonel)
AND
Name LIKECOALESCE(@Name+'%',Name)
AND
Family LIKECOALESCE(@Family+'%',Family)
باید لیست تمام پرسنل من رو بر گردونه ، وقتی که رو حروف (مثلا نام و نام خانوادگی) جستجو انجام میشه خوب کار میکنه (برای مثال با زدن حرف ب تمام اسم هایی که با ب شروع میشه رو نشون میده) اما وقتی رو اعداد (مثلاً شماره پرسنلی ) جستجو انجام میشه باید شماره پرسنای رو حتماً دقیق وارد کرد. چطور میشه اونم مثل نام کار کنه?
اینم کد C#
using
(SqlConnection conn = newSqlConnection(connection))
{
using (SqlCommand cmd = newSqlCommand("Select_Personel"))
{
cmd.CommandType =
CommandType.StoredProcedure;
cmd.Parameters.Add(
newSqlParameter("@ID_Personel", Searchitem));
cmd.Parameters.Add(
newSqlParameter("@Name", searchItem2));
cmd.Parameters.Add(
newSqlParameter("@Family", searchItem3));
// cmd.Parameters.Add(new SqlParameter("@Pass", TxtPass.Text));
conn.Open();
cmd.Connection = conn;
SqlDataAdapter adapter = newSqlDataAdapter(cmd);
DataSet ds = newDataSet();
adapter.Fill(ds,
"Select_Personel");
GridviewSearch.DataSource = ds;
GridviewSearch.DataMember =
"Select_Personel";
using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection) )
{
if (rdr.Read())
{
arrPic = (
byte[]) rdr["ImagePersonel"];
ms =
newMemoryStream(arrPic);
}
}
conn.Close();
}
}
من یک PROCEDURE دارم به فرم زیر:
@ID_Personel
int =NULL,
@Name
nvarchar(20)=NULL,
@Family
nvarchar(30)=NULL
AS
SELECT * FROM BS_Tb_personel btp
WHERE IDPersonel LIKECOALESCE(@ID_Personel,IDPersonel)
AND
Name LIKECOALESCE(@Name+'%',Name)
AND
Family LIKECOALESCE(@Family+'%',Family)
باید لیست تمام پرسنل من رو بر گردونه ، وقتی که رو حروف (مثلا نام و نام خانوادگی) جستجو انجام میشه خوب کار میکنه (برای مثال با زدن حرف ب تمام اسم هایی که با ب شروع میشه رو نشون میده) اما وقتی رو اعداد (مثلاً شماره پرسنلی ) جستجو انجام میشه باید شماره پرسنای رو حتماً دقیق وارد کرد. چطور میشه اونم مثل نام کار کنه?
اینم کد C#
using
(SqlConnection conn = newSqlConnection(connection))
{
using (SqlCommand cmd = newSqlCommand("Select_Personel"))
{
cmd.CommandType =
CommandType.StoredProcedure;
cmd.Parameters.Add(
newSqlParameter("@ID_Personel", Searchitem));
cmd.Parameters.Add(
newSqlParameter("@Name", searchItem2));
cmd.Parameters.Add(
newSqlParameter("@Family", searchItem3));
// cmd.Parameters.Add(new SqlParameter("@Pass", TxtPass.Text));
conn.Open();
cmd.Connection = conn;
SqlDataAdapter adapter = newSqlDataAdapter(cmd);
DataSet ds = newDataSet();
adapter.Fill(ds,
"Select_Personel");
GridviewSearch.DataSource = ds;
GridviewSearch.DataMember =
"Select_Personel";
using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection) )
{
if (rdr.Read())
{
arrPic = (
byte[]) rdr["ImagePersonel"];
ms =
newMemoryStream(arrPic);
}
}
conn.Close();
}
}