用户代码未处理invalidCastException

用户代码未处理invalidCastException

当我尝试编译asp.net网站项目时,出现此错误。


  用户代码未处理invalidCastException


protected void Button1_Click(object sender, EventArgs e)
{

    SqlCommand cmd = new SqlCommand("Sp_Kullanici_Ekle ", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@ad", SqlDbType.NChar, 50).Value = TextBox_ad;
    cmd.Parameters.Add("@soyad", SqlDbType.NChar, 50).Value = TextBox_soyad;
    cmd.Parameters.Add("@tel", SqlDbType.NChar, 50).Value = TextBox_no;
    cmd.Parameters.Add("@adres", SqlDbType.NChar, 50).Value = TextBox_adres;
    cmd.Parameters.Add("@email", SqlDbType.NChar, 50).Value = TextBox_mail;
    cmd.Parameters.Add("@sifre", SqlDbType.NChar, 50).Value = TextBox_sifre;
    cmd.Parameters.Add("@kredikart", SqlDbType.NChar, 50).Value = TextBox_kredikart;

    con.Open();
    cmd.ExecuteNonQuery(); // this step gives error
    con.Close();

}


这是SQL方面

  ALTER PROCEDURE [dbo].[Sp_Kullanici_Ekle]
  (
   @ad nvarchar(50),
   @soyad nvarchar(50),
   @tel nvarchar(50),
   @adres nvarchar(50),
   @email nchar(50),
   @sifre nvarchar(50),
   @kredikart nvarchar(50)
 )
AS
BEGIN
insert into kullanici(kullanici_ad,kullanici_soyad,kullanici_tel,kullanici_adres,
kullanici_email,kullanici_sifre,kullanici_kredikart)
values(@ad,@soyad,@tel,@adres,@email,@sifre,@kredikart)

END

最佳答案

只是一个想法,但我认为问题在于设置参数值时未使用TextBox_ad.Text。

本质上,您将Web控件作为参数而不是Web控件的文本传递。它可能期望一个字符串,并且在将Web控件强制转换为字符串时会给您该异常。

关于c# - 用户代码未处理invalidCastException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1936347/

10-10 13:06