using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;     SqlConnection con = Class1.DBCon();
      con.Open();
      SqlCommand cmd = new SqlCommand("Survey_Question_Save",con);
      cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new Parameter("@OptionNum", SqlDbType.Int, 4));
cmd.Parameters["@OptionNum"].Value=this.m_OptionNum;
错误1 无法从“System.Data.SqlDbType”转换为“System.TypeCode”
错误2 无法从“int”转换为“string”
错误3 与“System.Web.UI.WebControls.Parameter.Parameter(string, System.TypeCode, string)”最匹配的重载方法具有一些无效参数

解决方案 »

  1.   

    this.m_OptionNum这里有问题,应该是 Convert.ToInt32(this.m_OptionNum.Text)吧?
      

  2.   

    cmd.Parameters["@OptionNum"].Value=this.m_OptionNum; 等号右边必须转化成int.
      

  3.   

    cmd.Parameters["@OptionNum"].Value=int.Parse(this.m_OptionNum.Text.ToString()); 
      

  4.   

    cmd.Parameters.Add(new Parameter("@OptionNum", SqlDbType.Int, 4)); 
    -->cmd.Parameters.Add(new SqlParameter("@OptionNum", SqlDbType.Int, 4)); 那个类型转换错误,你检查一下你的参数类型是否和你的参数值类型一致
    检查this.m_OptionNum这个变量是否为int类型
      

  5.   

    cmd.Parameters["@OptionNum"].Value=int.Paqrse(this.m_OptionNum.ToString()); 
      

  6.   

    cmd.Parameters.Add(new Parameter("@OptionNum", SqlDbType.Int));    //数据库是 int
    cmd.Parameters.Add(new Parameter("@OptionNum", SqlDbType.VarChar,4)); //数据库是 VarChar