11 2014 档案
摘要:最近在编写C/S结构应用程序时,感觉窗体的标题栏样式太死板了,标题文字不能更改大小、颜色、字体等,按钮不能隐藏等问题,在网上也查找了许多相关的资料,没有找到合适的解决方案,发现许多人也在寻求这个问题,最后我决定自己研究动手画一个标题栏出来,经过今天一天的研究与编写,终于完成全部功能,现公布一下我的设计思路。
一、去掉Form类自带的标题栏
要去掉自还的标题栏有两种方法,第一方法是直接将FormBorderStyle设为 System.Windows.Forms.FormBorderStyle.None,但设置过后,窗体改变大小,考虑到后期这些功能还是需要的,所以我采用了第二种方法,第二种方法是可以忽略FormBorderStyle,只需要将ControlBox设为 false,并将Text设为空即可,这种方法隐藏标题栏,若FormBorderStyle不是固定模式,则可以通过拉伸窗体边框改变大小的。
阅读全文
摘要:首先看以下SQL逻辑语句块:
DECLARE @fieldname varchar(50)
DECLARE @fieldvalue nvarchar(100)
SET @fieldname='chassisno' --这里可传入chassisno,plateno,owner,contacttelno其中之一或不传
SET @fieldvalue='Zuowenjun'
IF @fieldname = 'chassisno'
BEGIN
SELECT * FROM TABLENAME WHERE chassisno=@fieldvalue
END
ELSE IF @fieldname = 'plateno'
BEGIN
SELECT * FROM TABLENAME WHERE plateno=@fieldvalue
END
ELSE IF @fieldname = 'owner'
BEGIN
SELECT * FROM TABLENAME WHERE [owner]=@fieldvalue
END
ELSE I
阅读全文
摘要:第1到3题解答如下:
public enum QuestionType
{
Text = 0,
MultipleChoice = 1
}
public interface IQuestion
{
string Title { get; set; }
QuestionType Category { get; }
}
public abstract class QuestionBase : IQuestion
{
public string Title { get; set; }
public abstract QuestionType Category { get; }
public virtual string GetAnswer()
{
return "默认答案";
}
}
public
阅读全文
摘要:方法一:创建一个维护计划对数据库进行备份
方法二:创建一个SQL作业对数据库进行备份
方法三:创建WINDOWS任务计划对数据库进行备份
方法一与方法二其实原理基本相同,都必需开启SQL代理服务,都会调用SQL作业。
方法二与方法三在备份方法上相同,均用到BACKUP DATABASE命令。
阅读全文
摘要:以下SQL段,大家认为结果是什么呢? DECLARE @A VARCHAR(50) SET @A='TEST' SELECT TOP 1 @A=ISNULL(FIELDNAME,'DEFAULT') FROM TABLENAME WHERE 1=2 PRINT @A GO 可能大家都认为结果显示是:DEFAULT,因为变量@A初始化为:TEST,在执行SQL查询后,由于条件1=2不成立,所以查询结果FIELDNAME的值应该是NULL,然后再执行ISNULL函数,就会将默认值DEFAULT赋给变量@A,然后最终打印是DEFAULT,但实际执行的结果却并不是这样,而是TEST,原因是什么呢?经过我的分析,找到了问题的原因,那就是SELECT语句,在找不到的记录的情况下,是不会执行赋值操作的(即:ISNULL(FIELDNAME,'DEFAULT')根本没有执行),所以才会得出该结果,若要解决这个问题,我们可以使用SET关键字给变理赋值
阅读全文
摘要:这里解析key的方式是寻找parameterName[index].Key这样的结构、解析value的方式是寻找parameterName[index].Value这样的结构。如果key或者value是复杂类型(如上面例子中的Information类型),则parameterName[index].Key或parameterName[index].value将被视为前缀(也可以理解为某个类型)而.PropertyName被视为后缀(即某个属性)。这里的索引也要求必须是以0开始的不间断的正整数。否则断开以后的部分将不会被解析。 构建IEnumerable, ICollection, IList, T[], Collection, 以及 List这类集合类型需要使用第一种语法。 而构建IDictionary 和 Dictionary这类集合需要使用第二种语法。 如果你不喜欢这种方式,你完全可以在Asp.net mvc中自定义一些binder来处理特定的类型。或者直接使用FormCollection。
阅读全文
摘要:实现自动生成序号的方法很多,最常见的是通过添加GridView1_RowDataBound方法,然后在里面依据实际情况计算序号,我这人希望能越简单且越好用就最好了,所以我采用了上面的方法,核心代码是:(Container.DataItemIndex + GridView1.PageIndex+1),其中Container.DataItemIndex表示当前行索引,GridView1.PageIndex表示页索引,由于索引是从0开始,所以加上1就OK了,这样整个表就有序号了,而且在分页下也是连续性的,不会出现每页从1开始的情况。
阅读全文
摘要:1.1.WebForm优点
1)支持事件模型开发,得益于丰富的服务端组件,WebForm开发可以迅速的搭建Web应用
2)使用方便,入门容易
2.1.MVC优点
1)很容易将复杂的应用分成M,V,C三个组件模型,通过Model,View和Controller有效的简化了复杂的架构, 体现了很好的隔离原则
2)因为没有使用Server-Based forms。所以我们程序员控制的更加灵活,页面更加干净。
3)通过修改路由规则,可以控制生成自定义的url,因此控制生成seo友好的url将更加容易。
4)强类型的view实现,更安全,更可靠,更高效。
5)让web开发可以专注于某一层,更利于分工配合使用与大型架构开发
6)对异步处理提更好的支持
7)校验非常高
8)表单提交的时候,提供自动装配的功能
9)微软提供的全局的过滤器
10)可扩展性
11)易测试性
阅读全文