读书人

万里长城长

发布时间: 2012-07-15 20:20:06 作者: rapoo

长城长
protected void bind(string ids)
{
OrderPay pay = null;
DataSet ds = odrm.GetOrdersByIds(ids); //把这个查询语句中的inner join去掉,只查询orders一张表足以
foreach (GridViewRow row in ds.Tables[0].Rows)
{
// DataSet 新加表集合 = OrderPayMgr.getrows(row中的order的id);
// foreach (DataRow item in 新加表集合.Tables[0].Rows)
// {
// //拼成一个字符串
// }
// //赋值给row中的支付详细字段
//}
pay = new OrderPay();
pay.OrderId=int.Parse(row.Cells[0].Text.Trim());
DataSet orderpay = OrderPayMgr.GetOrderPay(pay.OrderId);
foreach (GridView item in orderpay.Tables[0].Rows)
{
pay.Particulars = item.Rows[0].Cells[0].Text;
}
row.Cells[8].Text=pay.Particulars;

}
if (ds != null && ds.Tables.Count > 0)
{
orderReasonView.DataSource = ds.Tables[0];
orderReasonView.DataBind();
}
}
这个里面有一个错误,说是错误37非静态的字段、方法或属性“WQFLogis.Components.OrderPayMgr.GetOrderPay(int)”要求对象引用
还有我觉得这个你说拼字符串的地方,我不知道是什么意思,就那样加了一句
那个foreach循环里面你说是用dataset我不知道为什么要用这个,所以就换成了Gridview,
如果前面这些东西都没错了的话,那最后赋值这句话肯定就没错了


存储过程是这样写的:
--------------这个是根据orders表里面的ID来往部分支付表里面来查部分支付的备注
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter proc [dbo].[getorderpaySP]
@ids nvarchar(1000)
as
declare @sql nvarchar(1000);
set @sql = 'select particulars from orderpay where';
set @sql = @sql + ' orderid in (' + @ids + ')';
exec(@sql);


还有orderpayDAO:
public DataSet GetOrderPay(int ids)
{
cp = ProviderFactory.Instance();
cp.AddParameters("ids", ids);
return cp.ExcuteDataSet(getorderpaySP, CommandType.StoredProcedure, "orderpay");
}

Orderpaymgr:
//写一个查询的方法
public DataSet GetOrderPay(int ids)
{
return dao.GetOrderPay(ids);
}


读书人网 >移动开发

热点推荐