用户代码未处理invalidCastException

ozk*_*ank 1 c# sql-server asp.net

当我试图编译我的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();

}
Run Code Online (Sandbox Code Playgroud)

它是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
Run Code Online (Sandbox Code Playgroud)

Luk*_*ski 8

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

实质上,您将Web控件作为参数传递,而不是Web控件的文本.它可能需要一个字符串,当它将Web控件转换为字符串时,它会为您提供该异常.

  • 好的,那你就解决了你问过的问题.现在你遇到了一个新问题. (5认同)