SqlCommand dcmd = new SqlCommand();
dcon.Open();
dcmd.Connection = dcon;
dcmd.CommandType = CommandType.StoredProcedure;
dcmd.CommandText = "sp_format_detail";
dcmd.Parameters.Add("@aspecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@subjecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@contentformat" , SqlDbType.VarChar ,500);
dcmd.Parameters["@aspecttitle"].Value = aspecttitle;
dcmd.Parameters["@subjecttitle"].Value = subjecttitle;
dcmd.Parameters["@contentformat"].Direction = ParameterDirection.Output;
            dcmd.ExecuteNonQuery();
contentformat =dcmd.Parameters["@contentformat"].Value.ToString();//用Value属性来访问
dcon.Close();

解决方案 »

  1.   

    string str=Cmd.Parameters["@StuID"].Value
      

  2.   

    object p1=objCmd.Parameters["StuID"].Value;
      

  3.   

    string stu_id = "";
    try{
       objCmd.Connection.Open();
       objCmd.ExecuteNonQuery();
       stu_id = objCmd.Parameters["@StuID"].Value.ToString();
       objCmd.Connection.Close();
    }catch( SqlException ex){
       LblInfo.Text = ex.Message;
    }
    if( stu_id == "" ) Mess.Text = "none";
    else Mess.Text = stu_id;
    在这里我的stu_id总是为空,为什么?
    存储过程我是这样定义的:
    CREATE PROCEDURE LoginID_PWD
         @UserName varchar,
         @UserPWD varchar,
         @StuID nvarchar output   
     AS
    SELECT @StuID = stu_id
    FROM student
    WHERE username = @UserName AND password = @UserPWD
    表结构为
    username varchar 20
    password varchar 20
    stu_id   nvarchar 12