问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写C++程序,发现代码写的很乱,大部分代码都在main里面,用到很多数组,循环。想问该怎么让代码

发布网友 发布时间:2022-04-07 18:08

我来回答

2个回答

懂视网 时间:2022-04-07 22:30

 

  在使用SqlCommand 执行存储过程时,如果存储过程需要参数,就必须将每个参数都输进去,虽然说可以使用AddWithValue 方法,但参数多时仍旧有些麻烦。

  在需要将类的所有属性作为参数时,可以通过反射获取这个类所有的属性和值,并直接添加到参数中。

  不过需要注意的是,必须保证类的属性名和参数名相同(不区分大小写),顺序无所谓。

  

1  private void SetSqlParameters<T>(SqlCommand cmd, T model)
2  where T : class
3  {
4  foreach (PropertyInfo prop in 
5   model.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
6   {
7   cmd.Parameters.AddWithValue("@" + prop.Name, prop.GetValue(model, null));
8   }
9  }

  可以看出,这个函数中使用了一个循环来遍历所有属性,并使用GetValue 方法来获得相应的值,之后只需用一句话就可以将所有的属性加入参数列表中。

 1  public Building FindBuilding(Building building)
 2  {
 3  using (SqlConnection con = new SqlConnection(AppConnectionString))
 4   {
 5   SqlCommand cmd = new SqlCommand("FindBuilding", con);
 6   cmd.CommandType = CommandType.StoredProcedure;
 7   SetSqlParameters<Building>(cmd, building);
 8 
 9   con.Open();
10   SqlDataReader reader = cmd.ExecuteReader();
11   if (reader.Read())
12   return new Building
13    (
14    (string)reader["BldgName"],
15    (int)reader["RoomNum"]
16    );
17 
18   return null;
19   }
20  }

 

【乱写代码坑人系列】小插曲(一)将类的所有属性添加为SqlCommand的参数

标签:

热心网友 时间:2022-04-07 19:38

把你的一些功能性的代码在main函数之外单独写在一个函数里,之后再在main函数里调用相应的函数就好,这样你的代码就会简洁,也具有可读性。以后工作,你的代码不具有可读性,也就是别人读不懂的话就相当于你白写了。

int numbers (int a) {
    printf ("%d", a);
}

void main() {
    int a = 3;
    numbers(a);
}

我随便写个小程序,你看看,就简简单单的输出一句话,也要单独写个函数,这是作为程序员的一个良好也是必须具备的习惯。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 华为荣耀6充电接口坏了能维修吗 如何做到本地保持,使得下一次打开小程序后,仍旧能看到以前的数据,代码该如何实现?(附有源码) 小程序开发有哪些坑 小程序 onshow 和 onload 的区别 天涯明月刀背部饰品换掉了怎么换回来 天涯明月刀捏脸完的发型在游戏中不见了 小程序 onshow 和onload的区别 天涯明月刀的时装怎么换下来?装备复刻成时装了,但是穿上时装就不能... 天涯明月刀ol 里 为什么我刚开始设置的头发再进游戏里面看就变双马尾... 领导让我建一个工作群我把群主让给领导吗 请问一下,小程序的生命周期函数onLoad会等待资源(图片)加载完再执行onLoad事件吗? 天涯明月刀ol自己隐藏了头发,别人看到的是什么样子?还是自己自己管用?别人还是老样子? 粤政易怎样建工作群 天涯明月刀创建好角色进入游戏后发型又变成默认的女人 天涯明月刀怎样才可以看到人物创建时的发型(就是创人物时自己选的发型... 天涯明月刀中为什么我的发型换不了了 1961年十月三十属牛未来十年运势? 我想建个乐安家政培训工作群,怎么办? 为什么天涯明月刀创建人物时我设定人物细节发型什么的进去后就变成基础... 朋友不小心把工作群删掉了,现在想让我帮她重新建群,我应该怎么做? 物体由什么组成 物体是由什么构成的? 生活中,有哪些物体的结构分别属于实体结构,框架结构和壳体结构 构成物体的四种基本形体有哪些? 3d打印物体之前,为什么要做物体构造分析 物质是由什么组成的 组成物体三要素有? 物体结构的重要性有哪些? 美术问题,什么是物体的结构`` 慕斯蛋糕会融化吗 慕斯蛋糕放室温就有点融化 世间物体构成的模式从大到小 慕斯蛋糕怎样保存呢?听说很容易化掉 物质的基本结构 慕斯蛋糕老爱化 怎么办 慕斯蛋糕容易消化吗 怎样将物体的结构画好? 慕斯蛋糕在常温下会化吗? 物体有各种形状,大多数物体是由哪5种重要而简单的形状构成? 慕斯蛋糕在夏天,会像冰棍一样被晒化吗?(北京夏天,坐公交车去离家30分钟的地方买)