请教一个ADO.NET的写法
时间:2011-12-11
来源:互联网
C# code
目的是达到了,想请问下有没有更好的写法
是两个连接的表 根据第一个select 的查询 得到的结果的ID去找第二个查询的结果
List<WaitingEmaliList> weList = new List<WaitingEmaliList>(); SqlConnection connection = new SqlConnection(cnStr); SqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SELECT [emailID] ,[sentTime],[subject],[body] FROM [MailManDB].[dbo].[WaitingEmaliLists] a where DateDiff(DD,sentTime,GetDate())=0"; connection.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { weList.Add(new WaitingEmaliList { emailID = Convert.ToInt32(dr["emailID"].ToString()), body = dr["body"].ToString(), subject = dr["subject"].ToString() }); } dr.Dispose(); connection.Close(); foreach (WaitingEmaliList we in weList) { cmd = connection.CreateCommand(); connection.Open(); cmd.CommandText = " SELECT e.addressId ,e.toAddress,e.toDisplayName FROM EmailAddressLists e WHERE e.emailID=@id"; SqlParameter parameters = new SqlParameter("@id", we.emailID); cmd.Parameters.Add(parameters); dr = cmd.ExecuteReader(); while (dr.Read()) { Console.WriteLine(dr["toAddress"].ToString()); } Console.WriteLine("---------------"); dr.Dispose(); connection.Close(); }
目的是达到了,想请问下有没有更好的写法
是两个连接的表 根据第一个select 的查询 得到的结果的ID去找第二个查询的结果
作者: bios8086 发布时间: 2011-12-11
如果真的“目的是达到了”,那么其实没有必要去找什么“更好的写法”。除非你想出了更好的测试用例,你能自己提出更加具体的问题,找出这个代码的问题,也就是打破自己“目的是达到了”这种自满,这个时候才值得花费时间重构代码。
作者: sp1234 发布时间: 2011-12-11
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28