代码为:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string temp1,temp2,temp3;
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\Inetpub\wwwroot\wzgy\data\gydb.mdb" + ";"; OleDbConnection myCn = new OleDbConnection (connstr);
string sql = "select goods.id as 物资编码,goods.name as 物资名称,goods.category_id as 类别,goods.quality as 型号,goods.units as 单位,PORT_main.PORT_DATE as 日期,PORT_main.ID1 as 原始凭证,PORT_main.REMARK as 摘要,PORT_ITEMS.AMOUNT as 数量,PORT_ITEMS.UNITPRICE as 单价,PORT_ITEMS.jiner as 金额,PORT_main.IM_EX from goods,PORT_ITEMS,PORT_main where PORT_ITEMS.GOODS_ID=goods.id and PORT_ITEMS.PORT_ID=PORT_main.ID";
OleDbCommand myComm = new OleDbCommand (sql,myCn ); myCn.Open ();
OleDbDataReader reader = myComm.ExecuteReader (); this.Repeater1.DataSource=reader;
this.Repeater1.DataBind(); while (reader.Read ())
{
???
}
myCn.Close ();
myCn.Dispose ();
myComm.Dispose ();
reader.Close ();
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string temp1,temp2,temp3;
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\Inetpub\wwwroot\wzgy\data\gydb.mdb" + ";"; OleDbConnection myCn = new OleDbConnection (connstr);
string sql = "select goods.id as 物资编码,goods.name as 物资名称,goods.category_id as 类别,goods.quality as 型号,goods.units as 单位,PORT_main.PORT_DATE as 日期,PORT_main.ID1 as 原始凭证,PORT_main.REMARK as 摘要,PORT_ITEMS.AMOUNT as 数量,PORT_ITEMS.UNITPRICE as 单价,PORT_ITEMS.jiner as 金额,PORT_main.IM_EX from goods,PORT_ITEMS,PORT_main where PORT_ITEMS.GOODS_ID=goods.id and PORT_ITEMS.PORT_ID=PORT_main.ID";
OleDbCommand myComm = new OleDbCommand (sql,myCn ); myCn.Open ();
OleDbDataReader reader = myComm.ExecuteReader (); this.Repeater1.DataSource=reader;
this.Repeater1.DataBind(); while (reader.Read ())
{
???
}
myCn.Close ();
myCn.Dispose ();
myComm.Dispose ();
reader.Close ();
}
解决方案 »
- SqlCommand 怎么传递TextBox1.Text到存储过程 pro参数里???谢谢
- sos asp.net2.0关于发送邮件多个收件人时报错
- datagrid(access)怎样做分页显示
- GridView的列宽只能用代码设置吗?不能可视化设置?
- 请大家帮助。
- 请问怎样在asp.net里用已有模板呀?谢谢!!(在线等)
- 从cs文件向aspx中的javascript脚本 回传数组的问题
- 本公司招聘程序员!!
- 最近发现这个论坛的速度比原来快多了!!!
- 用C#开发:微信企业号--回调接口 总是:echostr校验失败
- 高分请教低级问题:服务器编译错误。快来抢分!
- DataGrid中如何在选中一行时触发一个事件?
SELECT a.id, b.数值 as 支出, c.数值 as 收入, a.ie_mx
FROM (表1 AS a LEFT JOIN (select a,数值 from 表1 where ie_mx='i' ) b ON a.a = b.a) LEFT JOIN (select a,数值 from 表1 where ie_mx='s') c ON a.a = c.a
SELECT a.id, nz(b.数值,0) as 支出, nz(c.数值,0) as 收入, a.ie_mx
FROM (表1 AS a LEFT JOIN (select a,数值 from 表1 where ie_mx='i' ) b ON a.a = b.a) LEFT JOIN (select a,数值 from 表1 where ie_mx='s') c ON a.a = c.a
FROM (表1 AS a LEFT JOIN (select id,数值 from 表1 where ie_mx='i' ) b ON a.id = b.id) LEFT JOIN (select id,数值 from 表1 where ie_mx='s') c ON a.id = c.id
我比较马虎 呵呵 上面这条语句才没问题 修改了字段名
对同一张表给多个不同的别名,可以看作多张表(一张表多个副本),然后对多张表进行操作。子查询返回的结果集可以看作一张表 如上面的
(select id,数值 from 表1 where ie_mx='i' ) b 就是把查出来的内容作为b表
this.Repeater1.DataSource=reader;
this.Repeater1.DataBind();
while (reader.Read ())
{
???
}
Repeater1.DataBind();已经是被绑定了reader
还能使用reader.Read()吗??
此时reader已经Read()到最后一条记录了。
你可以在查询语句最后加order by a.PORT_DATE 降序
order by a.PORT_DATE desc 升序