有点用处开发经验 祭奠我的C#开发历程(1)

作者:   出处:互联网   2015-06-25 14:46:30   阅读:2

博主下个月就要去进行Java开发了,以后C#碰的就少了,平时一些经验都记在OneNote里面,现在收集整理出来,因为只能利用交接工作的打酱油的时间,陆续更新中……

 

AD:
 

 

C#篇:

 

1、目标平台的选择:64位操作系统在编译VS里的程序时,根据需要设置项目属性的 目标平台 为x86。如果设置为AnyCPU,则在VS 2005里面是不能 编辑并继续 的。

 

一些有点用处的开发经验 祭奠C#开发历程

 

在选择x86和AnyCPU都可以在32位操作系统上使用。

 

选择x86在64位服务器上运行,可能会造成类库无法加载的问题。此问题在后文IIS经验中解释。

 

2、取DataTable或者DataGridView里面值的两种常用方法:

 

 

 

 

 

dt.Rows[i].Cells[ ID ].Value.ToString(); dt.Rows[0][ Name ].ToString(); 

 

 

 

前者需要从Value中取值,使用起来不是太方便。后者且不能加Value。

 

所有的中括号中都可以使用序号(从0开始)或是字段名(列名、行名)

 

3、如果没有使用Linq(一直都用的2.0框架 ),可以使用此法来写执行SQL。如:

 

 

 

 

 

string strSQL = string.Format( Insert table_1 values('{0}', '{1}',{2},{3})  

 

 

 

如果是varchar类型,必须使用'';如果是int,目前发现既可使用''也可以不使用,往往写脚本,嫌麻烦,就都带上了'',貌似执行上不会有问题,但不知道性能会不会有所下降。如果有知道的朋友请在评论区说下咯。

 

有朋友评论说这个容易被注入式攻击。查了下避免注入式攻击的方法:1、使用存储过程;2、参数化SQL语句。

 

以下是使用参数化SQL语句的方式:

 

SqlCommand command = new SqlCommand( select * from UserInfo where sex=@sex and age @age , connection); SqlParameter parameter = new SqlParameter( @age , SqlDbType.Int);//注意UserInfo表里age字段是int类型的 parameter.Value = 30; command.Parameters.Add(parameter);//添加参数 SqlDataAdapter adapter = new SqlDataAdapter(command); 

 

 

 

4、DLL引用了,但是在代码里面还是无法调用。

 

尝试在DLL的属性里面设置使用特定版本为False。

 

5、类库里的方法在调用的时候,如何让方法上面显示自定义说明?

 

勾选一下项目:属性 生成 XML文档文件

 

 

使用类库的时候,把对应的XML也拷贝的相同目录,这样会在VS中看到类库函数的自定义说明。前提是代码里面使用 /// 生成注释。

 

6、博友分享:VS2015在新建.net 4.0项目时,经常会默认一个Clent Profile的东东,经常出现问题。。。切换为标准框架即可。

 

VS2005不存在这个问题,VS2015好像也不存在这个问题。

 

7、未能加载程序集

 

这个问题的范畴过于庞大,能够造成这方面问题的原因可能有很多,记得比较分散,后面找到了陆续补充。

 

版本不匹配。

 

类库生成x86还是x64还是AnyCPU,最好能够做到目标平台保持一致。

 

两个项目引用路径不同,或生成个路径不同。

 

 


1 2 下一页 查看全文
内容导航 第 1 页:C#篇  第 2 页:SQL篇



计算机病毒分析与防治简明教程
本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat