public ProDetails ShowProInfo(int ProID)
{
SqlConnection conn = new SqlConnection("server=(local);database=netbooks;uid=sa;pwd=;");

SqlCommand comm=new SqlCommand("ProDetail",conn);
comm.CommandType=CommandType.StoredProcedure;
SqlParameter proid=new SqlParameter("@ProID",SqlDbType.NVarChar,8);
proid.Value=ProID;
comm.Parameters.Add(proid); SqlParameter proauthor=new SqlParameter("@ProAuthor",SqlDbType.NVarChar,12);
proauthor.Direction=ParameterDirection.Output;
comm.Parameters.Add(proauthor); SqlParameter proname=new SqlParameter("@ProName",SqlDbType.NVarChar,30);
proname.Direction=ParameterDirection.Output;
comm.Parameters.Add(proname); SqlParameter proimages=new SqlParameter("@ProImages",SqlDbType.NVarChar,50);
proimages.Direction=ParameterDirection.Output;
comm.Parameters.Add(proimages); SqlParameter proprice=new SqlParameter("@ProPrice",SqlDbType.Money);
proprice.Direction=ParameterDirection.Output;
comm.Parameters.Add(proprice); SqlParameter proinfo=new SqlParameter("@ProInfo",SqlDbType.NVarChar,4000);
proinfo.Direction=ParameterDirection.Output;
comm.Parameters.Add(proinfo); SqlParameter proisbn=new SqlParameter("@ProISBN",SqlDbType.Int);
proisbn.Direction=ParameterDirection.Output;
comm.Parameters.Add(proisbn); SqlParameter propage=new SqlParameter("@ProPage",SqlDbType.Int);
propage.Direction=ParameterDirection.Output;
comm.Parameters.Add(propage); SqlParameter prodate=new SqlParameter("@ProDate",SqlDbType.DateTime);
prodate.Direction=ParameterDirection.Output;
comm.Parameters.Add(prodate); SqlParameter proaddress=new SqlParameter("@ProAddress",SqlDbType.NVarChar,50);
proaddress.Direction=ParameterDirection.Output;
comm.Parameters.Add(proaddress); conn.Open();
comm.ExecuteNonQuery();
conn.Close(); ProDetails myproinfo=new ProDetails();
myproinfo.ProAuthor=(string)proauthor.Value;
myproinfo.ProName=(string)proname.Value;
myproinfo.ProImages=((string)proimages.Value).Trim();
myproinfo.ProPrice=(decimal)proprice.Value;
myproinfo.ProInfo=(string)proinfo.Value;
myproinfo.ProISBN=(int)proisbn.Value;
myproinfo.ProPage=(int)propage.Value;
myproinfo.ProDate=(DateTime)prodate.Value;
myproinfo.ProAddress=(string)proaddress.Value;

return myproinfo;
}ALTER PROCEDURE ProDetail
/*
(
@parameter1 datatype = default value,
@parameter2 datatype OUTPUT
)
*/
(
    @ProID    nvarchar(8),
    @ProAuthor nvarchar(12)  OUTPUT,
    @ProName  nvarchar(30)   OUTPUT,
    @ProImages nvarchar(50) OUTPUT,
    @ProPrice  money  OUTPUT,
    @ProInfo nvarchar(4000) OUTPUT,
    @ProISBN int OUTPUT,
    @ProPage int OUTPUT,
    @ProDate datetime OUTPUT,
    @ProAddress nvarchar(50) OUTPUT
)
AS
SELECT 
    @ProID    = ProID,
    @ProPrice  = ProPrice,
    @ProName    = ProName,
    @ProImages = ProImages,
    @ProInfo  = ProInfo,
    @ProISBN =ProISBN,
    @ProPage =ProPage,
    @ProDate =ProDate,
    @ProAddress =ProAddress
FROM 
    goods
WHERE 
    ProID = @ProID
//------------定义商品类--------------------
public class ProDetails
{
public int ProID;
public string ProAuthor;
public string ProName;
public string ProImages;
public decimal ProPrice;
public string ProInfo;
public int ProISBN;
public int ProPage;
public DateTime ProDate;
public string ProAddress;
}
请问问题怎么解决啊,谢谢了