mysql 多个datatable_多表查询返回多个DataTable,合并到一个Table中.

本文意在说明一下DataSet.Merge(Table)和多个Table合并到一个里面的操作.因为是新手,代码肯定有很多问题,欢迎大家批评指正.    如果你有更好的解决方案,请告诉我.谢谢.

先说一下需求:ASP.NET+MYSQL

e7463d66d4ceac398de452b97f145dda.png

查询连续N天的邮件发送日志.在库里,表是按天存放的,表名也是按天命名的.例如:mailsend20090302,mailstatus20090302,两张表有ID关联.为了调试简单,我把日期直接写死.在点查询按钮之后,首先根据得到的日期拼凑表名,得到两个表名数组,然后调用MySqlHelper类里的方法,下面是数据库操作的代码.因为用的是MySql,所以需要添加一个MySql.Data.dll引用.另外前两天看过string 与stringbuilder之间的区别,所以拼sql 时用了stringbuilder,然后用其ToString()赋给数组.

对数据做点说明:

mstatus:all,success,failure

mtype:jobs,email

pageindex,pagesize为分页控件的属性,分别表示第N页,和每页显示多少数据.

拼表名的方法:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode1

731655954c7be9d8835ece551b5385f8.png//数据库表名2731655954c7be9d8835ece551b5385f8.pngstring[] sendTables;3731655954c7be9d8835ece551b5385f8.pngstring[] statusTables;4731655954c7be9d8835ece551b5385f8.png5731655954c7be9d8835ece551b5385f8.png//拼表名6731655954c7be9d8835ece551b5385f8.pngvoidGetTableName()724a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{81408c5260b2f05e450dee929db9be5f7.pngstringdateFrom="2009-01-07";91408c5260b2f05e450dee929db9be5f7.pngstringdateTo="2009-01-10";101408c5260b2f05e450dee929db9be5f7.png            TimeSpan ts=Convert.ToDateTime(dateTo)-Convert.ToDateTime(dateFrom);111408c5260b2f05e450dee929db9be5f7.pngintcounter=ts.Days+1;121408c5260b2f05e450dee929db9be5f7.png            sendTables=newstring[counter];131408c5260b2f05e450dee929db9be5f7.png            statusTables=newstring[counter];141408c5260b2f05e450dee929db9be5f7.png151408c5260b2f05e450dee929db9be5f7.pngfor(inti=0; i

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{171408c5260b2f05e450dee929db9be5f7.png                sendTables[i]="mailsend"+Convert.ToDateTime(dateFrom).AddDays(i).ToString("yyyyMMdd");181408c5260b2f05e450dee929db9be5f7.png                statusTables[i]="mailstatus"+Convert.ToDateTime(dateFrom).AddDays(i).ToString("yyyyMMdd");195bcb1807ee3e00d2b3c225f0b3f5c751.png            }201408c5260b2f05e450dee929db9be5f7.png21f466905a3bcb5dcef110eab799825254.png        }22731655954c7be9d8835ece551b5385f8.png

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode1

731655954c7be9d8835ece551b5385f8.pngusingSystem;2731655954c7be9d8835ece551b5385f8.pngusingSystem.Data;3731655954c7be9d8835ece551b5385f8.pngusingSystem.Configuration;4731655954c7be9d8835ece551b5385f8.pngusingSystem.Web;5731655954c7be9d8835ece551b5385f8.pngusingSystem.Web.Security;6731655954c7be9d8835ece551b5385f8.pngusingSystem.Web.UI;7731655954c7be9d8835ece551b5385f8.pngusingSystem.Web.UI.WebControls;8731655954c7be9d8835ece551b5385f8.pngusingSystem.Web.UI.WebControls.WebParts;9731655954c7be9d8835ece551b5385f8.pngusingSystem.Web.UI.HtmlControls;10731655954c7be9d8835ece551b5385f8.pngusingMySql.Data.MySqlClient;11731655954c7be9d8835ece551b5385f8.pngusingSystem.Text;12731655954c7be9d8835ece551b5385f8.png13731655954c7be9d8835ece551b5385f8.pngnamespaceMultiTable1424a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{151408c5260b2f05e450dee929db9be5f7.pngpublicclassMySqlHelper16715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{171408c5260b2f05e450dee929db9be5f7.pngprivatestaticstringstrConn=ConfigurationManager.AppSettings["connStr"].ToString();181408c5260b2f05e450dee929db9be5f7.png//多天查 询 sendTables,statusTables,muser,mdomain,mstatus,pageindex,pagesize191408c5260b2f05e450dee929db9be5f7.pngprivatestaticstring[] PrepareSelectString2(string[] sendTables,string[] statusTables,stringmuser,stringmdomain,stringmstatus,stringmtype,intpageindex,intpagesize)20715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{211408c5260b2f05e450dee929db9be5f7.pngstring[] strSelect=newstring[sendTables.Length];221408c5260b2f05e450dee929db9be5f7.png            StringBuilder sbCommand2=newStringBuilder();231408c5260b2f05e450dee929db9be5f7.pngfor(inti=0; i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值