明志唯新

Database

SQL 2005 中的 TOP 子句
发表于

在给客户解决一个小的技术问题时,发现一些技术人员对 SQL2005 的 T-SQL 还有些东西是不太熟悉的,这次我就通过与 SQL 2000 对比着来说一下 SQL 2005 的 TOP 子句吧。 首先说一下大家熟悉的 SELECT 语句。 SQL 2000 中我们主要类似这样写:SELECT TOP 10 * FROM [News] ORDER BY [Id] DESC。这样我就能获取 News 表按 Id 列倒序的前 10 条记录。那么一个小问题就来了,我们知道 SQL ... 阅读全文 →

SQL2000 数据库中删除
发表于

在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在 SQL Server 2000 中造成一个异常问题:在企业管理器中打开数据库发现有一些坏表,即无法使用,也无法正常删除。其原因往往是因为在尝试建表的过程中,只向数据库服务器的系统表 sysobjects 中写入了类型为 U 的记录,却并未真正在数据库中成功创建该表的实体。ok,解决问题有思路了: 假设坏表的表名为 cmd,那么我们在查询分析器中对当前的数据库写一个 sql 语句: delete from syso ... 阅读全文 →

ASP.NET 应用中的 Membership 重置密码问题
发表于

ASP.NET 2.0 中引入的 Membership 机制给我们做 web 开发带来很多便利,使得我们在做很多项目开发时处理用户和角色及权限问题时减少了相当的工作量。不过我们开发中可能会碰到一个小小的问题如下: 我们知道 MembershipUser 中有如下重载的方法 MembershipUser.ResetPassword () :将用户密码重置为一个自动生成的新密码。 MembershipUser.ResetPassword (String passwordAnsw ... 阅读全文 →

SQL2005 数据库镜像之数据库用户问题
发表于

数据库镜像是 SQL Server 2005 的一个新特性,它允许你将一个 SQL Server 中的数据库内容镜像到另一个 SQL Server 上。它还让你可以在发生错误的时候,通过镜像数据库来进行错误恢复。镜像的拷贝是一个备用的拷贝,不能直接访问,它只用在错误恢复的情况下。SQL2005 的这一特性给数据库系统维护人员带来了不错的实惠,而给最终用户的体验也是不错的。至于如何配置数据库镜像系统,大家可以到 TechNet 中文网络广播 中查找一下相关视频教程,尤其推荐大家 ... 阅读全文 →

使用 sql 判断指定表中的有标识的字段
发表于

一朋友问及一个问题:在 SQL Server 2000 里如何通过 sql 语句查出指定数据表中自动编号的字段名,即包含标识的字段名。 其实使用一个简单的sql语句就搞定了: Select [name] From sysColumns Where id=object_id(N'TABLENAME') and Status=128 其中 TABLENAME 为你要查询的数据表名称。 如果想查询标识种子和标识增量的信息,应使用如下语句: Select [name], autov ... 阅读全文 →

在 1433 以外的任何端口上连接到 SQL Server
发表于

Sql Server 的默认开放端口是 1433,但是由于实际开发的需要端口被设置为非 1433,一些开发人员不知如何写该类型的连接字符串了。 其实解决这个问题很简单的,只需在连接字符串的 Data Source=myServer 后面加上逗号和端口号就可以了。例如 User ID=sa;Initial Catalog=pubs;Data Source=myServer,1200,就是连接的 1200 端口的 Sql Server 服务器了。 具体的描述如下: 症状: 当您使 ... 阅读全文 →

精彩的近乎完美的分页存储过程
发表于

CREATE PROCEDURE main_table_pwqzc ( @pagesize int, @pageindex int, @docount bit, @this_id int ) AS IF(@docount=1) BEGIN select count(id) from luntan where this_id=@this_id END ELSE BEGIN declare @indextable table(id ... 阅读全文 →

实现千万级数据的分页显示!
发表于

/* 经测试,在 14483461 条记录中查询第 100000 页,每页 10 条记录按升序和降序第一次时间均为 0.47 秒,第二次时间均为 0.43 秒,测试语法如下: exec GetRecordFromPage news,newsid,10,100000 news 为 表名, newsid 为关键字段, 使用时请先对 newsid 建立索引。 */ /* 函数名称: GetRecordFromPage ... 阅读全文 →

一个多表关联写入的存储过程
发表于

近日被一个问题给疑惑:如何向一个数据库表内插入一个数据,然后获得插入后的产生的主键值,并将该值和其他参数写入另一个表,因为一直使用 mysql, access 等不含存储过程的数据库,所以百思不得其解,终于从日本朋友那里得到了使用存储过程实现解决办法,其实看看也挺简单的。 都怪自己学艺不精。 程序代码: CREATE procedure develop.insert_base_grid(@b_i int, @e_c int,@p_c varchar(192),@g_cint, ... 阅读全文 →