- 博客(71)
- 资源 (11)
- 收藏
- 关注
转载 char、varchar、text和nchar、nvarchar、ntext的区别
<br /> 很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便选一个。在这里我想对他们做个简单的分析,当然如果有不对的地方希望大家指教。<br />CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效
2010-12-24 18:39:00 453
原创 数据库设计中的范式
<br />第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。 <br />-------------<br />以前对这句话就是记住了,可是不会用也不知道如何用。<br />看了如下列子 了解了<br /><br />例:如S1(学号,姓名,所在系,系名称,系地址)<br /> 关键字【学号】决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性【所在系】,
2010-12-24 18:29:00 424
原创 提出问题:大家如何控制主键的重复性?
<br />提出问题:大家如何控制主键的重复性? <br />具体说明:SQL数据库Product表 productId,productName 其中productId 为主键【非自增列】, 业务要求新增一个商品到product表,程序中如何处理主键<br />方案一: productid不让客户录入,由程序读取product表中的Max(productid)+1返回做主键<br />方案二:界面提供2个TextBox,一个供客户录入productid,一个录入productname, 在插入数据
2010-12-23 21:33:00 811
原创 项目问题---GridView的使用
<br />不做不知道,一做全是错。<br />不用gridView控件已经有2年了。脑海中依稀只是记得自能绑定数据源后能实现自动分页 排序等功能。<br /> <br />这次自己做的这个项目看来眼高手低的问题体现出了。<br />--------------------------------<br />实现功能:用gridView显示所有注册的用户信息 <br />数据库表Users中有多列,此处只是想显示UserId,User_Name,Role_Name三列。<br />此处对于gridview的
2010-12-19 19:08:00 556
原创 项目问题 数据库设计字段
<br />数据库表Users中有一字段createDate 关于何时赋值 有待考虑。<br />第1种方式:在数据库中增加约束 来默认当前日期<br />第2种方式:数据库不加约束,在程序中对该字段默认当前日期。
2010-12-18 12:38:00 498
原创 什么算合格的开发维护人员
<br />1:分析客户的合理需求---<br />2:修改保证进度即合理规划修改时间<br />3:修改时考虑到增加此处对其他地方的影响毕竟是在维护阶段不是开发阶段了<br />4:修改时涉及到后台Sql 修改考虑下当客户数据量达到百万级别时的效率能不能有更好的方式改进<br />5:修改此处是否需要修改客户的历史数据,如何修改是否有对应的修改脚本<br />6:在分析1时即可参考4 和 5 的工作量及效率问题若答应了客户的需求但在4上却把一个效率很快的Sql由于1的确定修改导致慢了得不偿失。<br />
2010-12-18 12:36:00 475
原创 数据库设计---关于角色表的设计
最近项目进入开始研发阶段,在开发过程中遇到了一个问题就是如何给Role表设主键?根据最简单的的方法就是自增ID方式。但是起初设计的时候考虑的是Role表和Users表用Role_Id做外键关联。于是打算自己去做这个主键。研发过程中考虑到实际 系统中这个表的数据量到底会有多大,一般的查询会根据角色名称来进行模糊查找。于是决定将设为自增ID方式第2种方法也就是上述说的自己去管理主键,新建的时候去判断表中是否存在?这里的弊端是最后Role_Id会多种形式。第3种方法就是考虑所有的主键信息放到一个表中来统一管理,每
2010-12-18 08:20:00 1540
原创 What am I fretting about?
<br />The loud noise chafed him. <br />吵闹声使他烦躁<br /><br />今天的几个句子是有关烦躁不安的:<br />1.Father has taken restless of late.近来父亲变得焦躁不安。<br />2.What are you fretting about? 你为什么烦躁不安?<br />3.Does it let you feel frustrated? 你觉得烦躁吗?
2010-12-17 17:06:00 562
原创 项目问题-------传入存储过程中的参数的长度一定要和数据库表的字段长度保持一直
<br />传入存储过程中的参数的长度一定要和数据库表的字段长度保持一直<br />今天新建了一个用户,密码在数据库表User中的字段长度是varchar(50)<br />密码打算保存是用MD5 做32位加密 所以 50 足够了<br />但是我在存储过程中却传入的长度是 @password Varchar(20) 数据库自动截断 为20为 当然无法匹配了。
2010-12-17 17:06:00 1775
原创 项目技术----如何插入用户数据
<br />将用户的新信息插入数据库一般是写一个insert 语句。 这里我们利用的是SqlDataAdapter的Update方法。<br />---------------------<br />1:首先共同的SqlHelper类中有如下静态方法:<br />-----------------------------------------------------------------<br /> public static void Update(string connectionString
2010-12-16 22:12:00 538
原创 项目问题4:时间型无法转化为String
<br />数据库User表中有一个字段为User_CreateDate DateTime类型 <br />在实体类中自己居然写成了string <br />-------------------------------------------<br />如下错误代码<br /><br /> private string _userAddress;<br /> private string _userPhone;<br /> private string _userMobile;<br
2010-12-16 19:56:00 519
原创 项目问题3:关于架构
<br />可能自己也会问自己:做项目前不把架构定义好,怎么做的过程中才去定义架构呢<br /> <br />自己最初是用的一个已经有的网站 就是想用它的框架去做这个项目的,不过在做的过程中发现连最基本的三层都没有<br />于是不得不改造。<br />以前的是<br />---------------------------------------------------------------<br />实体类: UserInfo<br />接口: IUsers<br />DAL类:User (继承
2010-12-16 19:51:00 439
原创 项目问题2:如何建立接口
<br />整天在ERP中来回修改客户问题 ERP中有接口的概念,自己也知道,但是今天自己开始建立一个新的接口还真是有点茫然<br />如下建立一个接口实现的功能是把注册用户信息插入到数据库中去。<br />-----------------------------------------------------------------------------------------------------<br />void InsertUser(UserInfo refUserInfo) ;//接口这样
2010-12-16 19:43:00 752
原创 项目问题1:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
<br />书写如下代码 从Register.aspx 点一个按钮到另一个界面CommitRegister.aspx<br /> <br />-----------------------------------------------------------------------------------<br /> UserInfo userinfo = new UserInfo();<br /> userinfo.UserName = this.txtUserName.Te
2010-12-16 13:13:00 5522 1
原创 数据库设计---0001 关于varchar 和nvarchar
昨晚设计了两个数据库表Role 表 RoleId varchar(10) not nulll RoleName varchar(50) not null----------------------------------------------------今天结合最近的业务重新分析了下对这个表的设计修改如下: RoleId varchar(10) not nulll---------------> RoleId varchar(3)
2010-12-16 10:06:00 865
转载 动态Sql获取动态表数据
<br />转自 http://www.cnblogs.com/zhuisuo/archive/2010/11/23/1885623.html<br /> <br />if object_id('country') is not null<br /> drop table country <br />Go<br />Create Table country( id int null, name varchar(50) null)<br /><br />if object_id('Product') is n
2010-12-16 08:55:00 1923
转载 SQL内置函数整理
<br />CEILING<br />描述:返回大于或等于指定数值表达式的最小整数。<br />例如:select CEILING(1.2) 返回 2<br /> select CEILING(-1.2) 返回 -1<br />注意:select CEILING(4/3) 是返回1而不是2 因为 select(4/3) 返回的是1(取整嘛...)<br />COALESCE<br />描述:返回其参数中第一个非空表达式。<br />例如:select COALESCE(null,"易水寒的空
2010-12-16 08:20:00 714
原创 有多少行? SELECT rows FROM sysindexes WHERE id = OBJECT_ID('table_name') AND indid < 2
<br /><br />T-SQL的COUNT函数可以在查询中返回项目的数量,但是使用这个函数的时候可以指定一个数据列,从而提高性能,原因在于SELECT COUNT(*)在表格中执行了一个全表格的扫描然后返回总数。<br />您可以在函数调用中指定一个数据列,如果只需要计算表格有多少数据行,您可以使用sysindexes表格(不必使用WHERE语句),在sysindexes表格中有一个名为ROWS的数据列,它包含了数据库中所有表格的行数,以下的代码可以返回指定表格的数据行数量:<br />SELECT r
2010-12-15 18:46:00 3088
原创 数据库优化经验
<br />一天优化了一个存储过程,得到几点经验:当存储过程中涉及到函数的时候,函数的执行会浪费很多时间,<br />其次 当一个查询中用到了distinct的时候说明您的连接条件有问题或查询方式有问题,不到万不得已不要用distinct<br />
2010-12-15 18:44:00 666
原创 如何 控制传入的参数减少存储过程的代码量
<br />-----新建一个表<br />create table TA <br />(Pur_No varchar(13),<br /> pur_Name varchar(40),<br /> remark varchar(8000)<br />)<br /> <br />------------------------<br />插入数据<br />insert into TA<br />select 'PPA1000000001','Good1','Good1'<br />union all<b
2010-12-15 18:40:00 508
原创 无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间
无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。 select * from table1 where ID not in (select ID from table2 ) 无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。--解决办法select * from table1 wh
2010-12-15 18:29:00 4639
原创 She is rather a careless girl,she often loses things.
<br />I lost the door key about here.<br />我在这附近掉了门钥匙<br />----------------------------------------------------------------------<br />今天的几个句子是有关丢东西的:<br />1.He is always losing things. 他总是丢东西。<br />2.Oh, I seem to lose something every time I travel. 唉!我好像
2010-12-15 09:07:00 1297
转载 查询优化问题一
<br />问题的原因比较清楚:<br />我其实是2个表关联查询:订单产品表(A)-->订单表(B)<br />其中A表中有350多万记录 B表中有15万记录<br />我的sql大概是这样<br />select * from (<br />select * from A a, B b<br />where<br />a.orderId=b.id<br />and b.f1 =1000 --- 查询条件<br /><br />and b.f2=2000 ---查询条件<br />order by a
2010-12-14 20:44:00 567
转载 问题5 关于动态SQL查询
<br />问题描述:求一存储过程,取得指定表中最大的ID号,这里的表是参数<br />解答:<br />CREATE PROCEDURE SelectMax<br /> @max int output,<br /> @Tablename varchar(50)<br /> AS<br /> -- 注意,此处不能直接写成 exec('select @max = max(ID) from ' + @Tablename),因为变量不在同一个作用域<br /> exec('select max(ID) as re
2010-12-14 20:32:00 430
转载 思考
<br />以前对数据库也有过一段时间的研究,对数据库的物理存储机制也有所了解,刚看了freedk 写的《SQL Server 索引结构及其使用》受益非浅,我也真的意识到,数据库索引对系统性能的重要性。 <br /> 在我的传统观念中,主键一般是应该设为聚集索引的,但现在有了新的认识,主键主要意义在于“唯一标识记录”关于主键的设计我也不再详述,可以参照我的《数据库主键设计之思考 》,而索引主要是“提高数据库性能”,尤其是“聚集索引”。 <br /> 而现在我会注重数据库索引的建立,最关键的就是聚集索引,“聚
2010-12-14 13:06:00 352
转载 SQL Server 索引结构及其使用(三)
<br />实现小数据量和海量数据的通用分页显示存储过程<br /><br /> 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于
2010-12-14 12:15:00 321
转载 SQL Server 索引结构及其使用(四)
<br />聚集索引的重要性和如何选择聚集索引<br /><br /> 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象: <br /><br />1、分页速度一般维持在1秒和3秒之间。 <br /><br />2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。 <br /><br /> 虽然在超大容量情况下,这个分页的实现过程是很快的,但
2010-12-14 12:15:00 290
转载 SQL Server 索引结构及其使用(二)
<br />一、深入浅出理解索引结构<br />改善SQL语句<br /><br /> 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=''zhangsan'' and tID > 10000<br />和执行:select * from table1 where tID > 10000 and name=''zhangsan''<br /> 一些人不知道以上两条
2010-12-14 12:14:00 291
转载 SQL Server 索引结构及其使用(一)[转]
<br />SQL Server 索引结构及其使用(一)<br />作者:freedk<br />一、深入浅出理解索引结构<br /><br /> 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: <br /> 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要
2010-12-14 12:13:00 351
原创 索引与主键
<br />1:<br />Sql server 2005默认建立一个表主键的时候自动为该列设只为聚集索引。但是由于一个表只能有一个聚集索引,这便使得聚集索引非常珍贵,若一个主键列查询不频繁但是还需要建立主键,最好的方式就是只建立主键和非聚集索引而把聚集索引建立到频繁查询的列上去。<br />如下<br />----------------------<br />create table index_T2<br />(cust_Cd varchar(10) primary key nonclustered
2010-12-14 12:10:00 484
原创 Let me get back to you
<br />Let me get back to you. <br />我过一会儿打给你吧<br /><br />今天的几个句子是有关打电话的:<br />1.Will you answer the phone? 请接电话。<br />2.A person using a telephone. 打电话者。<br />3.To make a telephone call to your mother. 打电话给你的母亲。
2010-12-14 08:04:00 685
原创 Can you settle it by yourself.请自行解决
<br />Are you by yourself? <br />你一个人来吗?<br /><br />今天的几个句子是有关问询的:<br />1.Can you settle it by yourself. 请自行解决。<br />2.You can study by yourself. 你可以自学。<br />3.Are you traveling by yourself? 您是一个人旅行吗?
2010-12-13 18:00:00 501
原创 生成验证码图象文件
using System;using System.IO;using System.Drawing;using System.Drawing.Imaging;using System.Text;namespace HRManager.CommonComponent{ /// /// 生成验证码图象类 /// public class ValidateCode { private const int CODELEN = 4; //4位验证码 pu
2010-12-13 17:48:00 373
原创 加密解密应用
<br />using System;<br />using System.Text;<br />using System.IO;<br />using System.Security.Cryptography;<br />namespace HRManager.CommonComponent<br />{<br /> /// <summary><br /> /// 字符串加密、解密类,利用DES算法<br /> /// </summary><br /> public class m
2010-12-13 17:46:00 605
原创 图书馆管理系统简介
----------------设计到很简单的几个功能,用户注册,修改密码,借书,还书,添加书籍,修改书籍,删除书籍,查找书籍以及对用户的管理即管理员可以对非管理员进行增删改操作.首先分析下框架典型的三层架构:每个实体对应一个类 此处涉及到了books,borrow,users类.此后就是数据库操作类database了.所有的数据库相关操做都在这个类里封装了.下面具体讲解下users类. public class Users { #region 私有成员 private s
2010-12-13 11:08:00 1817
转载 存储过程
<br />普通存储过程<br /> 首先在查询分析器运行下面的代码来创建一个存储过程:<br /><br />createproc sp_singleresultset<br />as<br />setnocounton<br />select*from customers <br /> 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singlere
2010-12-12 12:31:00 438
原创 in left join inner join
<br />in操作<br /> <br />描述:查询指定城市中的客户<br />查询句法:<br /><br /> var in操作 = from c in ctx.Customers<br /> wherenewstring[] { "Brandenburg", "Cowes", "Stavern" }.Contains(c.City)<br /> select c;<br />对应SQL:<br /><br /
2010-12-12 11:52:00 565
原创 子查询
<br />取相交项<br /> <br />描述:查询城市是A打头的顾客和城市包含A的顾客的交集,并按照顾客名字排序<br />查询句法:<br /><br />var取相交项 = (from c in ctx.Customers where c.City.Contains("A") select c).Intersect<br /> (from c in ctx.Customers where c.ContactName.StartsWith("A") select c).Orde
2010-12-12 11:50:00 379
原创 distinct union contact
<br />distinct<br /> <br />描述:查询顾客覆盖的国家<br />查询句法:<br /><br />var过滤相同项 = (from c in ctx.Customers orderby c.Country select c.Country).Distinct(); <br />对应SQL:<br /><br />SELECT DISTINCT [t0].[Country]<br />FROM [dbo].[Customers] AS [t0]<br /> <br />union<b
2010-12-12 11:49:00 792
原创 分页 分组等Linq查询语句例子
<br /><br />分页<br /> <br />描述:按照每页10条记录,查询第二页的顾客<br />查询句法:<br /><br /> var分页= (from c in ctx.Customers select c).Skip(10).Take(10);<br />对应SQL:<br /><br />SELECT TOP 10 [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].
2010-12-12 11:46:00 3151 2
图书管理系统简介C#语言【用户,图书借还,图书管理】
2010-12-13
(C#)为 TextBox 控件增加一个限制最大字节数的属性
2010-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人