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;
}
请问问题怎么解决啊,谢谢了
{
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;
}
请问问题怎么解决啊,谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货