string strConn = "连接数据库";
SqlConnection scnn=new SqlConnection(strConn);
scnn.Open(); 

SqlCommand insertComm = new SqlCommand("sp_StudentMemberCreate",scnn);

insertComm.CommandType = CommandType.StoredProcedure; insertComm.Parameters.Add(new SqlParameter("@no",SqlDbType.Char,3,"100")); insertComm.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10,"100"));

insertComm.ExecuteNonQuery();  // 出错 scnn.Close(); 
调试了半天,提示系统出错,不知道原因

解决方案 »

  1.   

    晕,MM你这样写想不出错都难,下面这个错了:string strConn = "连接数据库";
      

  2.   

    CREATE PROCEDURE sp_StudentMemberCreate

    @no      char(3), --no
    @name    char(10)       --name
    )
    as

    BEGIN TRANSACTION

    insert into stu values(@no, @name)

    COMMIT TRANSACTION
             GO
      

  3.   

    检查你的stu表格是否只有两列
      

  4.   

    不是事务的问题,在查询分析器里可以运行,
    另外查过了类型,数据库定义也是CHAR 3,CHAR 10
    错误信息只是提示 SYSTEM ERROR
      

  5.   

    你的name参数给的值不对,用如下试一下:
    string strName = "100";
    strName = strName.PadRight( 10, " ");
    insertComm.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10,strName));
      

  6.   

    两个参数加错了1.new SqlParameter("@no",SqlDbType.Char,3,"100") //这一句错了。
      

  7.   

    1.参数没有赋值
    2.SourceColumnName输入错误这样写:
    SqlParameter param = new SqlParameter("@no", SqlDbType.Char, 3);
    param.Value = "100";
    insertComm.Parameters.Add(param);SqlParameter param = new SqlParameter("@name", SqlDbType.Char, 10);
    param.Value = "100";
    insertComm.Parameters.Add(param);insertComm.ExecuteNonQuery(); // 出错
      

  8.   

    另外:
    SqlCommand insertComm = new SqlCommand("sp_StudentMemberCreate @no,@name",scnn);
      

  9.   

    好了,用了KSSYS的方法
    SqlParameter param = new SqlParameter("@no", SqlDbType.Char, 3);
    param.Value = "100";
    insertComm.Parameters.Add(param);但是仍不明白,为什么前面是错的
    我觉得两种方法是一样的
      

  10.   

    //因为New SqlParameter的最后一个参数有问题
    //100这个参数并非赋值,而是表示数据库的列名
    new SqlParameter("@no",SqlDbType.Char,3,"100")
      

  11.   

    最好自己單步運行一下,看那里有問題
    有了csdn 就懶得動腦了,hehe