protected void btnsubmit_Click(object sender, EventArgs e)
{
if (rbtmale.Checked)
{
gender = "male";
}
else if(rbtfemale.Checked)
{
gender = "female";
}
if (cbxsd.Checked)
{
designation = "sd";
}
else if (cbxasd.Checked)
{
designation = "asd";
}
else if (cbxtrainee.Checked)
{
designation = "trainee";
}
if (cbxbsc.Checked)
{
qua = "BSc";
}
else if (cbxbca.Checked)
{
qua = "BCA";
}
else if (cbxbtech.Checked)
{
qua = "BTech";
}
else if (cbxmca.Checked)
{
qua = "MCA";
}
else if (cbxmba.Checked)
{
qua = "MBA";
}
SqlConnection con = new SqlConnection(s1);
SqlCommand cmd = new SqlCommand("sp_2", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Parameters.AddWithValue("@id", txtid.Text.Trim());
cmd.Parameters.AddWithValue("@name",txtname.Text.Trim());
cmd.Parameters.AddWithValue("@age",txtage.Text.Trim());
cmd.Parameters.AddWithValue("@sex",gender);
cmd.Parameters.AddWithValue("@addr",txtaddr.Text.Trim());
cmd.Parameters.AddWithValue("@hq",qua);
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
cmd.Parameters.AddWithValue("@desig",designation);
cmd.Parameters.AddWithValue("@mob",txtmob.Text.Trim());
cmd.Parameters.AddWithValue("@email", txtemail.Text.Trim());
cmd.Parameters.Add("@msg", SqlDbType.VarChar, 20).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
//if (i > 0)
//{
// Label1.Text = "successfully inserted";
//}
//else
//{
// Label1.Text = "failed to insert";
//}
string s2 = cmd.Parameters["@msg"].Value.ToString();
Response.Write(s2);
con.Close();
}
答案 0 :(得分:9)
我想我看到了问题:
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
应为ddlcompany.SelectedIndex
或ddlcompany.SelectedValue
...
ddlcompany.SelectedItem引用ListItem
本身,而不是值。
答案 1 :(得分:5)
只需更改以下代码行
即可cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
到
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem.ToString());
它将起作用,因为SelectedItem需要以字符串类型转换