baran.f.a
پنج شنبه 09 بهمن 1393, 09:53 صبح
سلام من فرمی طراحی کردم که می خوام داده های اونو در دیتابیسم ذخیره کنم اما قبل از insert باید شناسه یکی از قسمت های فرممو که یه dropdownlist هست را از دیتابیسم بخونم به خاطر همین یه function رو فراخوانی کردم که این کارو انجام بده من به این مقداری که تابعم برمی گردونه برای insert احتیاج دارم functionیه مقداری رو برمی گردنه ولی نمی تونم اطلاعات برگشته رو insert کنم .خطایی که می ده اینه :
Conversion failed when converting the varchar value 'id' to data type int.
کدم :
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=(local);Initial Catalog=company;Integrated Security=SSPI;";
SqlConnection conObj = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("select dbo.SearchId(@title)", conObj);
cmd.CommandType = CommandType.Text;
SqlParameter parm = new SqlParameter("@r", SqlDbType.Int);
parm.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parm);
cmd.Parameters.Add(new SqlParameter("@title", DropDownList1.SelectedValue));
conObj.Open();
cmd.ExecuteNonQuery();
if (parm.Value is DBNull)
{
Label2.Text = "empty";
}
else
{
int id = Convert.ToInt32(parm.Value);
}
SqlCommand command = new SqlCommand("Insert into Pay_PayrollFactor (Pay_PfId,Pay_PfParentId_fk,Pay_PfName,Pay_PfDescr yption) values (8, 'id' ,'" +DropDownList1.SelectedValue + "','"+DropDownList1.SelectedValue + '/' +txttitle.Text+"')", conObj);
command.ExecuteNonQuery();
conObj.Close();
}
}
function :
CREATE FUNCTION SearchId
(
@title nvarchar
)
RETURNS int
AS
BEGIN
DECLARE @r int
set @r=
(select Pay_PfId
from Pay_PayrollFactor
where Pay_PfName = @title)
RETURN @r
END
لطفا راهنماییم کنید از بس بهش غکر کردمو جواب نگرفتم خسته شدم . خیلی فوریه .
Conversion failed when converting the varchar value 'id' to data type int.
کدم :
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=(local);Initial Catalog=company;Integrated Security=SSPI;";
SqlConnection conObj = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("select dbo.SearchId(@title)", conObj);
cmd.CommandType = CommandType.Text;
SqlParameter parm = new SqlParameter("@r", SqlDbType.Int);
parm.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parm);
cmd.Parameters.Add(new SqlParameter("@title", DropDownList1.SelectedValue));
conObj.Open();
cmd.ExecuteNonQuery();
if (parm.Value is DBNull)
{
Label2.Text = "empty";
}
else
{
int id = Convert.ToInt32(parm.Value);
}
SqlCommand command = new SqlCommand("Insert into Pay_PayrollFactor (Pay_PfId,Pay_PfParentId_fk,Pay_PfName,Pay_PfDescr yption) values (8, 'id' ,'" +DropDownList1.SelectedValue + "','"+DropDownList1.SelectedValue + '/' +txttitle.Text+"')", conObj);
command.ExecuteNonQuery();
conObj.Close();
}
}
function :
CREATE FUNCTION SearchId
(
@title nvarchar
)
RETURNS int
AS
BEGIN
DECLARE @r int
set @r=
(select Pay_PfId
from Pay_PayrollFactor
where Pay_PfName = @title)
RETURN @r
END
لطفا راهنماییم کنید از بس بهش غکر کردمو جواب نگرفتم خسته شدم . خیلی فوریه .