本帖最后由 wh_liang 于 2013-01-25 11:58:21 编辑

解决方案 »

  1.   

    额,这个我也知道,但是我不知道具体怎样去调用 public int AddWorkCase(WorkCase model)
            {
                string sql = "insert into WorkCase values(@Picture,@DescContent)";
                List<SqlParameter> sqlpar = new List<SqlParameter>()
                {
                    new SqlParameter("@Picture",model.Picture),
                    new SqlParameter("@DescContent",model.DescContent),
                };
                return Convert.ToInt32(DBHelper.DBSQLHelper.exec(sql, sqlpar, CommandType.Text, null));
            }你能帮我改下这段代码么?
      

  2.   

    insert的时候直接output当前插入的id值
    string sql = "insert into WorkCase output inserted.id values(@Picture,@DescContent)";
      

  3.   

    我是想要结合上面的dbhelper里的方法返回ID
      

  4.   

    insert into完后再执行string sql="SELECT  @@IDENTITY AS 'id' ";这个语句就可以返ID了。
      

  5.   

    @@IDENTITY 或者 output id都可以
      

  6.   

    大家都理解错了,我是想根据上面的dbhelper里的方法来丢该调用方法从而获得返回值,不是只要sql语句,而是要修改这段代码 public int AddWorkCase(WorkCase model)
            {
                string sql = "insert into WorkCase values(@Picture,@DescContent)";
                List<SqlParameter> sqlpar = new List<SqlParameter>()
                {
                    new SqlParameter("@Picture",model.Picture),
                    new SqlParameter("@DescContent",model.DescContent),
                };
                return Convert.ToInt32(DBHelper.DBSQLHelper.exec(sql, sqlpar, CommandType.Text, null));
            }
      

  7.   

     string sql = "insert into WorkCase values(@Picture,@DescContent);select @@identify;";
      

  8.   

    string sql = "insert into WorkCase values(@Picture,@DescContent);select @@IDENTITY;";
      

  9.   


    SqlDBHelper.GetSingle(strSql.ToString(), parameters); 这就能获取到添加的ID了啊。
      

  10.   

    我要的是改这段代码 public int AddWorkCase(WorkCase model)
            {
                string sql = "insert into WorkCase values(@Picture,@DescContent)";
                List<SqlParameter> sqlpar = new List<SqlParameter>()
                {
                    new SqlParameter("@Picture",model.Picture),
                    new SqlParameter("@DescContent",model.DescContent),
                };
                return Convert.ToInt32(DBHelper.DBSQLHelper.exec(sql, sqlpar, CommandType.Text, null));
            }
    只修改一个SQL语句是没有用的啊,要修改调用方法中的参数,方法在楼顶
      

  11.   

    DBHelper.DBSQLHelper.exec(sql, sqlpar, CommandType.Text, null); 你这个方法是返回什么的。
      

  12.   

    public static Object exec(string sql, List<SqlParameter> sqlpar, CommandType cmdType, int? OutputIndex)
            {
                using (conn=new SqlConnection(connStr))
                {
                    cmd = new SqlCommand(sql, conn);
                    cmd.Parameters.AddRange(sqlpar.ToArray());
                    cmd.CommandType = cmdType;
                    if (OutputIndex!=null)
                    {
                        cmd.Parameters[(int)OutputIndex].Direction = ParameterDirection.Output;
                    }
                    try
                    {
                        if (conn.State!=ConnectionState.Open)
                        {
                            conn.Open();
                        }
                        cmd.ExecuteNonQuery();
                        if (OutputIndex!=null)
                        {
                            return cmd.Parameters[(int)OutputIndex].Value;
                        }
                        return null;
                    }
                    catch (Exception ex)
                    {
     
                        throw ex;
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }你看下返回的是OBJECT,是parameter里的一项,传进去的是一个index值
      

  13.   


    public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
    {
        SqlCommand cmd = new SqlCommand();
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
            object obj2 = cmd.ExecuteScalar();
            cmd.Parameters.Clear();
            return obj2;
        }
    }public static object GetSingle(string sqlStr, params SqlParameter[] commandParameters)
    {
        return SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.Text, sqlStr, commandParameters);
    }string sql = "insert into WorkCase values(@Picture,@DescContent);select @@IDENTITY;";
    object id=GetSingle(sql, parameters);