angel farahani
یک شنبه 28 اردیبهشت 1393, 01:48 صبح
با سلام ، من یک پروسجر و یک فرم جستجو دارم که از کد پروسجرم مطمئنم چون در اس کیو ال جواب میده ، اما در asp.net زمان اجرا خطای Error converting data type nvarchar to int. لطفا دوستان راهنمایی نمایید من یک پست های مشابه انجمن رو هم خوندم ، برام گره گشا نبود .
object getval(object s) {
if (s ==null)
return null;
else
return s;
}
protected void search_Click(object sender, EventArgs e)
{
Panel1.Visible = true;
DataSet ds = new DataSet();
String conString = ConfigurationManager.ConnectionStrings["OnlineResturansConnectionString"].ToString();
SqlConnection sqlcon = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SearchShops", sqlcon);
cmd.Connection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@shopname",getval(name.Text.Trim()));
cmd.Parameters.AddWithValue("@shoptypeid",getval( ShopType.SelectedValue));
cmd.Parameters.AddWithValue("@areanum",getval( areanum.SelectedValue));
cmd.Parameters.AddWithValue("@economylevel",getval( echolevel.SelectedValue));
cmd.Parameters.AddWithValue("@parkingplace",getval( parkplace.SelectedValue));
cmd.Parameters.AddWithValue("@wifi",getval(wifi.Checked));
cmd.Parameters.AddWithValue("@freeship",getval(freeship.Checked));
cmd.ExecuteNonQuery();
sqlcon.Close();
sqlcon.Open();
sqlcon.Close();
}
}
پروسجرم :
ALTER PROCEDURE [dbo].[SearchShops]
@shopname varchar(30)=null,
@shoptypeid int=null,
@wifi bit=null,
@freeship bit=null,
@parkingplace tinyint=null,
@economylevel tinyint=null,
@areanum tinyint=null
AS
BEGIN
Select shopid,shoplogoname,shopname,shoptypeid,descriptio n,economylevel,areanum
From shop
Where(@shopname IS null OR shopname Like '%'+@shopname+'%')AND
(@shoptypeid IS null OR shoptypeid=@shoptypeid)AND
(@wifi IS null OR wifi=@wifi)AND
(@freeship IS null OR freeship=@freeship)AND
(@parkingplace IS null OR parkingplace=@parkingplace)AND
(@economylevel IS null OR economylevel=@economylevel)AND
(@areanum IS null OR areanum=@areanum)
END
object getval(object s) {
if (s ==null)
return null;
else
return s;
}
protected void search_Click(object sender, EventArgs e)
{
Panel1.Visible = true;
DataSet ds = new DataSet();
String conString = ConfigurationManager.ConnectionStrings["OnlineResturansConnectionString"].ToString();
SqlConnection sqlcon = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SearchShops", sqlcon);
cmd.Connection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@shopname",getval(name.Text.Trim()));
cmd.Parameters.AddWithValue("@shoptypeid",getval( ShopType.SelectedValue));
cmd.Parameters.AddWithValue("@areanum",getval( areanum.SelectedValue));
cmd.Parameters.AddWithValue("@economylevel",getval( echolevel.SelectedValue));
cmd.Parameters.AddWithValue("@parkingplace",getval( parkplace.SelectedValue));
cmd.Parameters.AddWithValue("@wifi",getval(wifi.Checked));
cmd.Parameters.AddWithValue("@freeship",getval(freeship.Checked));
cmd.ExecuteNonQuery();
sqlcon.Close();
sqlcon.Open();
sqlcon.Close();
}
}
پروسجرم :
ALTER PROCEDURE [dbo].[SearchShops]
@shopname varchar(30)=null,
@shoptypeid int=null,
@wifi bit=null,
@freeship bit=null,
@parkingplace tinyint=null,
@economylevel tinyint=null,
@areanum tinyint=null
AS
BEGIN
Select shopid,shoplogoname,shopname,shoptypeid,descriptio n,economylevel,areanum
From shop
Where(@shopname IS null OR shopname Like '%'+@shopname+'%')AND
(@shoptypeid IS null OR shoptypeid=@shoptypeid)AND
(@wifi IS null OR wifi=@wifi)AND
(@freeship IS null OR freeship=@freeship)AND
(@parkingplace IS null OR parkingplace=@parkingplace)AND
(@economylevel IS null OR economylevel=@economylevel)AND
(@areanum IS null OR areanum=@areanum)
END