木子屋 Dnawo's BLOG

分类:Web编程

共 939 篇

使用参数化查询的优点

前几天有讨论过"给SQL 文本命令中的参数传值",也就是参数化查询,后来就一直在想不使用参数化查询和使用参数化查询有什么区别?如下两个例子: a.字符串拼接(不使用参数化查询) 在事件探查器中可以看到执行的SQL语句为: Select count(*) From Where Country='UK' And City='London' b.参数化查询 在事件探查器中可以看到执行的SQL语句为: exec sp_executesql N'Select count(*) From Where Country=@Country And City=@City', N'@Country nvarchar(2),@City nvarchar(6)', @Country = N'UK', @City = N'London'…

在App_Code中使用多种语言

App_Code和Bin文件夹的不同之处在于Bin文件夹里面存储的是已经编译好的程序集,而App_Code存储的是源代码,默认情况下他们在动行时会被编译成单个程序集。这就会发生一个现象:由于Bin中是已经编译好的程序集,所以他们可以是由各种不同的语言编写的,而App_Code中的源代码在是运行时动态编译成单个程序集,所以你不能在App_Code中存放各种语言编写的源代码,如ClassA.vb、ClassB.cs,否则将无法编译,你会收到类似的错误信息: System.Web.HttpException: 文件“/App_Code/ClassA.vb”和“/App_Code/ClassB.cs”使用的语言不同,这是不允许的,因为它们要在一起编译。 我们并未显示的标记App_Code中的源代码是使用哪种语言编写的,那编译的时候是怎么判断的?估计是根据文件的类型(假设的),如果是.vb文件则调用Visual Basic编译器,如果是.cs文件则调用C#编译器,所以你不能在App_Code中存放多种类型的文件,否则将无法判断应用哪种类型编译器来生成单个程序集!…

取消DropDownList中全部选择项

我们可以使用如下语句来设置DropDownList的选择项: 上边两句只有第2句是有效的,当最后一次设置SelectedIndex值时会自动先将其他选择项取消,再重新设置选择项,所以上边语句是无错的,最终索引为2的项被选中!但使用Selected属性来设置选择项就没有那么幸运了: 程序出错:System.Web.HttpException: 不能在 DropDownList 中选择多个项。原因是通过Selected设置选择项时并不会自动先将其他选择项取消,这样会造成有多项处于选中状态,这是不允许的!所以在使用Selected来设置选择项时,在有可能会有多项被选中时应手动取消全部选择项,方法也很简单,如下边例子:

.NET自定义分页控件PageNavigator v1.0(源码)

1.使用说明: 1).页面中添加本控件,假设实例名称为PageNavigator1; 2).在Page_Load加入:PageNavigator1.OnPageChange += new PageChangeHandler(PageNavigator1_PageChange); 3).在Page_Load的if (!IsPostBack){}中对控件的RecordCount、PageSize和PageIndex属性赋值,注意PageIndex的赋值应放在最后; 4).定义一个PageNavigator1_PageChange函数: protected void PageNavigator1_PageChange(object sender, int PageIndex)…

还是没习惯使用left join

Service表: id ShortName Logo ProvinceId ----- ------ ----- ----- 36 朗成科技 110000 17 网麒科技 310000 41 道格瑞恩 310000 37 思洋(中国) 440000 38 艾迪索思互动 220000 Province表: id code name ----- ----- ----- 1 110000 北京市 2 120000 天津市 3 130000 河北省 4 140000 山西省 5 150000 内蒙古 表Service的ProvinceId字段和表Province的code字段关联,在界面上显示的时候老是用:…

C#生成彩色验证码

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using arts; using System.Web.UI.HtmlControls; using System.Drawing; using System.Drawing.Imaging;…

table变量 VS 临时表

临时表: table变量: 上边两个T-SQL的结果是一样的,但在联机丛书中建议尽可能使用表变量而不使用临时表。table 变量有以下优点: ·table 变量的行为类似于局部变量,有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。 在其作用域内,table 变量可像常规表那样使用。该变量可应用于 Select、Insert、Update 和 Delete 语句中用到表或表的表达式的地方。但是,table 不能用在下列语句中: Insert INTO table_variable EXEC 存储过程。 Select select_list INTO table_variable 语句。…

SQL语句union关键字使用

还是用例子来说明吧,简单明了。假如有如下两张表内容: id name total ----- ----- ----- 1 aaa 10 2 bbb 20 id name total ----- ----- ----- 1 aaa 10 2 ccc 10 1.union 将两个结果集合并成一个结果集,并去掉相同的记录。 Select name from Table1 union Select name from Table2 结果集: name ---- aaa bbb ccc Select name,total from Table1 union Select name,total from Table2…

将一张表的数据更新到另一张表

有如下两张表: id name total ----- ----- ----- 1 aaa 10 2 bbb 20 id name total ----- ----- ----- 1 aaa 30 2 ccc 10 要实现将Table2的数据更新到Table1,使Table1的数据成: id name total ----- ----- ----- 1 aaa 40 2 bbb 20 3 ccc 10 T-SQL如下:

解决VS2008使用文件系统建立的网站在浏览器中查看时路径问题

使用VS2008在"E:\User\MzwuCom.Web"下建立了一个站点,在浏览器中查看时你会发现路径类似于"http://localhost:7382/MzwuCom.Web/Default.aspx",而不是"http://localhost:7382/Default.aspx",这样整个站点就变成了在一个虚拟目录下,这在执行某些操作时会出现问题,例如打开站点根目录下一个文件Server.MapPath("/test.txt"),所以必须去掉虚拟目录,设置方法:打开网站属性窗口,将虚拟路径"/MzwuCom.Web"设置为"/"即可。