技术盘点之“耕”在wangdie

1.    撰写OLEDB字符串... 1

2.    SQL Server用户账号与登录账... 1

3.    增加一个字段... 1

4.    sql server 跨数据库查询(两个点)... 1

5.    西游记的企业文化... 2

6.    取一些ACSII字符做密码... 2

7.    指定数据及日志文件创建数据库... 2

8.    恢复数据库一例... 3

9.    VSS使用经验... 3

10.   各种不同结构数据库实体关系如何体现... 4

11.   触发器另解... 4

12.   side-by-side mode并列模式安装... 4

13.   添加字段,有默认值... 4

14.   时间数据类型实为浮点数... 4

15.   一些报表查询... 4

16.   关于代码页... 5

17.   时间比较... 5

18.   一些SQL. 6

19.   交易系统ER分析... 6

20.   jmail+asp 给通过审核的会员发送确认邮件... 7

1.      撰写OLEDB字符串

撰写OLEDB字符串是另一个困扰很多人的问题。其实方法很简单。以连接SQL Server为例:

    1、建立一个扩展名为UDL的文件,并打开

    2、在“提供程序”页选择Microsoft OLE DB Provider for SQL Server,然后回到“连接”页,输入数据库服务器的地址,并选择“使用指定的用户名称和密码”,输入连接数据库的用户名和密码,然后在“在服务器上选择数据库”下拉框里选择或者输入要使用的数据库名称即可。最后可以点击“测试连接”按钮测试参数是否正确。注意不能选择“使用WindowsNT集成安全设置”,否则即使测试成功,也不能在ASP里用。

    3、最后用2000/XP的记事本或者Word之类的程序打开这个文件,第3行就是OLEDB连接字符串。

 

2.      SQL Server用户账号与登录账

11:51 2005-3-8

在数据库中,用户账号与登录账号是两个不同的概念。一个合法的登录账号只表明该账号通过了NT 认证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。例如,登录账号sa 自动与每一个数据库用户dbo 相关联。

 

3.      增加一个字段

15:04 2005-3-9

ALTER TABLE User ADD "confid" int

 

4.      sql server 跨数据库查询(两个点)

17:08 2005-3-11

SELECT dbo.RandNumber(), *

FROM Northwind..Customers

 

5.      西游记的企业文化

17:04 2005-3-18

游记是个团队项目。一个团队的核心是人,这些志同道合者聚集一起并对目标达成共识(西天取经),利用自身力量的同时依靠外部资源克服困难(81难),最终胜利完成任务。很多公司企业常常对内部员工或外部媒体说企业文化,他们却常忽略企业文化应该起源于公司上中下各级人员的核心精神共识,兴盛于企业整体团队运营项目过程中,传承于新老员工并最终体现于大至企业整体小至职员个人思维行动上。在管理范围里,企业都在追求企业文化,却忘了领导层和员工是企业文化的主体,造成“我们的企业文化是XXX……”永远停留在口头上的尴尬局面。

 

18:27 2005-3-30

6.      取一些ACSII字符做密码

declare @min int

declare @max int

declare @charCode int

set @min = ASCII('1')

set @charCode = @min

set @max = ASCII('z')

while @charCode <= @max

    begin

    if CHAR(@charCode) in (':',';','<','=','>','?','[','/',']','^','_','`')

       begin

       set @charCode = @charCode + 1

       continue     

       end

   

    print CHAR(@charCode)

    insert into PasswordChar(CodeChar) values (CHAR(@charCode))

    set @charCode = @charCode + 1

    end

 

7.      指定数据及日志文件创建数据库

11:44 2005-5-10

DROP DATABASE DB

GO

--指定数据及日志文件创建数据库

CREATE DATABASE DB

    ON

       (NAME = DB,

       FILENAME = 'F:/SQL_APP_DATA/DB.mdf')

    LOG ON

       (NAME = DB_LOG,

       FILENAME = 'F:/SQL_APP_DATA/DB_LOG.ldf')

GO

 

8.      恢复数据库一例

--列出数据库内的文件结构

--返回由备份集内包含的数据库和日志文件列表组成的结果集。

RESTORE FILELISTONLY

FROM DISK = 'C:/TEMP/QULIAOLIAODB'

GO

 

--恢复数据库(使原来的DW名的数据库恢复到现名为DB的数据库)

--使用 MOVE 选项重新定位数据库逻辑文件

 

RESTORE DATABASE DB

    FROM DISK = 'C:/TEMP/DW'

    WITH

       MOVE 'DW_data' TO 'F:/SQL_APP_DATA/DB.mdf',

       MOVE 'DW_log' TO 'F:/SQL_APP_DATA/DB_LOG.ldf'

GO

 

14:17 2005-5-13

9.      VSS使用经验

今天的“第一次”,第一次搭建版本控制环境。使用MSVSS。之前的项目也用过,不过当时对一些概念还是一知半解的,今天算是弄明白了。写一下。多人协作最基本的功能需求无非就是check in check out,避免多人同时编辑同一个文件而造成损失。不过现在的version control软件声称还可以恢复过往任何时刻的任何版本等诸多强大功能。还是那一句,跟着需求走,或许以后用得着,现在先解决“温饱问题”,记一下VSS的一些概念。

9.1      check in check out

这个很好理解,关键是文件是哪里签入和到底签到哪里去。VSSCS模式的这个不用说了。CS数据库check out文件到本地working folder,更改后check inS去。

9.2      数据库

S以数据库的形式保存源码的版本信息的。而这个数据库以二制文件保存数据,打不开。

9.3      working folder

工作目录就是C保存着源码的最新版本COPY的地方。

9.4      get last

S的数据库随着C的签出签入版本不断在变,get last是得到最新版本的手动方式。当然,当C check out一个文件时,而这个文件有新版本,S会提示get last

9.5      project

VSS同样以项目的形式组织文件,目录树里每一个folder都是一个project,而且允许所有的C往数据库里创project(其实就是添加项目文件)

 

今天搭建了一下版本控制环境,把一文档添加了进去,心想如果是多人协作真的很有效,哈,再也不用穿梭folder间来回找文档了。

 

10.各种不同结构数据库实体关系如何体现

17:51 2005-5-13

实体间的关系 has”通过共享”team”和”year”的值体现出来。

层次和网状模型使用明确的物理指针结构来编码关系;关系模型用共享值来隐含地编码关系;

11.触发器另解

无论何时,两个实体间都有关系,一个实体中的因素引用或关联于另一个实体的因素。保持相关实体间的关系被称为参照完整性。由于关系被隐含地存储在关系模型中,需要额外的负担来保持参照完整性。今天大多数负担由程序员负责,然而,逐渐地关系DBMS提供对参照完整性的各种形式的自动支持,如触发器------依附于表的存储式过程,条件满足就触发。

 

17:48 2005-5-16

12.side-by-side mode并列模式安装

Microsoft? XML Core Services (MSXML) 4.0, formerly known as the Microsoft XML Parser, is installed on your computer in side-by-side mode. This means that installing MSXML 4.0 does not replace any previously installed version of the MSXML parser on your computer. This is done to protect the quality of applications that are currently using msxml.dll, msxml2.dll, or msxml3.dll. Side-by-side mode also allows you to decide which version of the parser to use in your code.

 

15:47 2005-5-17

13.添加字段,有默认值

USE DB

GO

ALTER TABLE reg_card

    ADD "PhoneNum" varchar(15)

    DEFAULT ''

    ,   "addDate" smalldatetime

    DEFAULT getDate()

GO

 

17:08 2005-5-19

14.时间数据类型实为浮点数

T-SQL中,时间日期格式数据类型实际上是一个浮点数类型,记录的是当前时间到1900110时的天数,加上剩余的时间化成小数。

 

18:43 2005-5-19

15.一些报表查询

15.1报表境界

SELECT GiftName AS '礼品', SUM(Amount) AS '数量', Presentor AS '赠送人', u.User AS '被赠送人'

FROM GifeTrade AS g

INNER JOIN User AS u

ON g.Recievor = u.UserId

WHERE Presentor BETWEEN 58555 AND 60000

GROUP BY GiftName, Presentor, u.User

 

15.2如此统计

SELECT Recievor,

    [1朵鲜花] = SUM(CASE GiftId WHEN 1 THEN Amount ELSE 0 END),

    [9朵鲜花] = SUM(CASE GiftId WHEN 2 THEN Amount ELSE 0 END),

    [99朵鲜花] = SUM(CASE GiftId WHEN 3 THEN Amount ELSE 0 END),

    [钻戒] = SUM(CASE GiftId WHEN 4 THEN Amount ELSE 0 END),

    [别墅] = SUM(CASE GiftId WHEN 5 THEN Amount ELSE 0 END)

FROM GifeTrade

WHERE AddTime BETWEEN '2005-05-01' AND '2005-05-02'

GROUP BY Recievor

18:39 2005-5-26

15.3 ROLLUP 汇总数据

在生成包含小计和合计的报表时,ROLLUP 运算符很有用。ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集。有关更多信息,请参见用 CUBE 汇总数据。

CUBE ROLLUP 之间的区别在于:

CUBE 生成的结果集显示了所选列中值的所有组合的聚合。

ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。

 

16.关于代码页

18:40 2005-6-7

每种Windows 字体都有一个代码页属性,表明该种字体所支持的字符集。

 

CodePage: 可读/可写。整型。定义用于在浏览器中显示页内容的代码页。代码页是字符集的数字值,不同的语言使用不同的代码页。例如,ANSI代码页为1252,日文代码页为932,简体中文代码页为936

LCID : 可读/可写。整型。定义发送给浏览器的页面地区标识。LCID是唯一地标识地区的一个国际标准缩写,例如,2057定义当前地区的货币符号是""

 

14:37 2005-6-8

17.时间比较

--取得5月份以后申请注册的用户数据

1900

@-----------4.1------4.12------5.1--------6.1

距离的比较

set nocount off

SELECT UseName,pASSWORD, RegTime  FROM Reg

WHERE CAST(RegTime as float) > CAST (CAST ('2005-05-01' as datetime) as float)

--and regdate < 2005-5-1

and auditing = 0

order by regdate desc

 

18.一些SQL

18:01 2005-6-16

ExchangeGift也要干掉,当初也没设计 好,重建,再导

新的叫:Gift_On_Web

 

CREATE TABLE Gift_On_Web(

    GiftId int NOT NULL  IDENTITY(1, 1),

    GiftName varchar(30) COLLATE Chinese_PRC_CI_AS NOT NULL ,

    Point int NOT NULL ,

    unit varchar(4) NOT NULL ,

    type varchar(16) COLLATE Chinese_PRC_CI_AS NOT NULL ,

    memo varchar (100),

    [GiftPicId] [int] NOT NULL

) ON [PRIMARY]

GO

 

INSERT INTO Gift_On_Web(GiftName, Point, unit, type, memo, GiftPicId)

SELECT [name], charge, unit, type, memo, GiftPicId FROM dbo.ExchangeGift

 

11:44 2005-5-25

master..sysdatabases里存放有数据库信息;

各个数据库下的SYSOBJECTS表里存放有表、视图、存储过程等对象的信息,具体自己看帮助;

表结构可以结合SYSCOLUMNSSYSINDEXES等表来查询,具体可以到精华区去看看;

查看存储过程和视图可以使用系统存储过程sp_helptext来实现,具体看帮助。

 

 

11:24 2005-5-26

--删除一条最新的记录

--1.用时6s

DELETE gift_incept

FROM (SELECT TOP 1 id

    FROM gift_incept

    WHERE incept = 40974

    ORDER BY indate DESC) AS A

WHERE A.id = gift_incept.id

--2.用时12s

DELETE FROM gift_incept

WHERE id = (SELECT TOP 1 id FROM gift_incept

       WHERE incept = 40974

       ORDER BY indate DESC)

 

19.交易系统ER分析

初步分析

第二版本

20.jmail+asp 给通过审核的会员发送确认邮件

<%

DIM FromEmail '邮件服务器上的邮件帐号 :Kemin@126.com

PUBLIC SMTP_Addr  '邮件服务器地址 :smtp@126.com

DIM SMTP_Password

FromEmail = "beichengnanhai@21cn.com"

SMTP_Addr = "smtp.21cn.com"

SMTP_Password = "1982413"

DIM isSended

'Response.Write CBOOL(chkUseDefaultSMTP)

'response.End()

IF NOT CBOOL(Request.Form("chkUseDefaultSMTP")) THEN

    FromEmail = TRIM(Request.Form("txtFromMail"))

    SMTP_Addr = TRIM(Request.Form("txtSMTP_Addr"))

    SMTP_Password = TRIM(Request.Form("txtSMTP_Password"))

END IF

IF FromEmail = "" OR FromEmail = "" OR FromEmail = "" THEN

    ERR.NUMBER = 1

END IF

'--------------------------------------------------------------------

Function Jmail(mailTo,mailTopic,mailBody,mailCharset,mailContentType)

    'On Error Resume Next

    Dim myJmail

    Set myJmail = Server.CreateObject("JMail.Message")

    myJmail.Logging = True'记录日志

    myJmail.ISOEncodeHeaders = False'邮件头不使用ISO-8859-1编码

    myJmail.ContentTransferEncoding = "base64"'邮件编码设为base64

    myJmail.AddHeader "Priority","3"'添加X-Mailer邮件头,不要改动!

    myJmail.AddHeader "MSMail-Priority","Normal"'添加X-Mailer邮件头,不要改动!

    myJmail.AddHeader "Mailer","Microsoft Outlook Express 6.00.2800.1437"'添加X-Mailer邮件头,不要改动!

    myJmail.AddHeader "MimeOLE","Produced By Microsoft MimeOLE V6.00.2800.1441"'添加X-Mailer邮件头,不要改动!

    myJmail.Charset = mailCharset

    myJmail.ContentType = mailContentType

    If UCase(mailCharset) = "GB2312" Then

       myJmail.FromName = WEB_SITE_NAME

    Else

       myJmail.FromName = WEB_SITE_NAME

    End If

    myJmail.From = FromEmail

    myJmail.Subject = mailTopic

    myJmail.Body = mailBody

    myJmail.AddRecipient mailTo

    myJmail.MailDomain = SMTP_Addr

    myJmail.MailServerUserName = FromEmail

    myJmail.MailServerPassword = SMTP_Password

    myJmail.Send SMTP_Addr'ConstMailDomain

 

    If Err.Number <> 0 Then

       isSended = FALSE

       Jmail=Err.Description & "fail:message.ErrorCode: " & myJmail.ErrorCode & myJmail.ErrorMessage

       'Err.Clear

    Else

       isSended = TRUE

       Jmail="OK" & "OK:message.ErrorCode: " & myJmail.ErrorCode & myJmail.ErrorMessage

    End If

    myJmail.Close

    Set myJmail=nothing

End Function

'--------------------------------------------------------------------

 

FUNCTION SendMail(mailTo, MemberId, Password, NickName)

 

Dim myMail

 

'Set myMail = CreateObject("CDONTS.NewMail")

 

DIM HTML

HTML = HTML & " <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>"

HTML = HTML & " <html>"

HTML = HTML & " <head>"

HTML = HTML & " <meta http-equiv='Content-Type' content='text/html; charset=gb2312'>"

HTML = HTML & " <title>"&WEB_SITE_NAME&"</title>"

HTML = HTML & " </head>"

HTML = HTML & " <body>"

HTML = HTML & " <table width='100%'  border='0' cellspacing='0' cellpadding='10'>"

HTML = HTML & " <tr>"

HTML = HTML & " <td>您好!" & NickName &"先生/小姐,您在" & WEB_SITE_NAME & "的会员申请已经通过审核。会员号是"

HTML = HTML & MemberId

HTML = HTML & ",密码是:" & Password

HTML = HTML & "。请您小心保管好。</td>"

HTML = HTML & " </tr>"

HTML = HTML & " <tr>"

HTML = HTML & " <td align='center'><a href='&#32437;&#27178;&#32593;%20http://www.qqzh.com%20' target='_blank'>"&WEB_SITE_NAME&"</a></td>"

HTML = HTML & " </tr>"

HTML = HTML & " </table>"

HTML = HTML & " </body>"

HTML = HTML & " </html>"

 

'myMail.From="Kemin@126.com"

'myMail.To="keminlau@hotmail.com"

'myMail.Subject="Sample CDONTS HTML Message"

'myMail.BodyFormat=0

'myMail.MailFormat=0

'myMail.Body=HTML

'myMail.Send

'set mymail=nothing

 

Dim SendStat

SendStat = Jmail(mailTo,"您在"& WEB_SITE_NAME &"申请的帐号信息",HTML,"gb2312","text/html")

IF NOT isSended THEN

    SendStat = SendStat & "<br>" & "邮件没有发送成功,请检查发送服务器是设置是否正确,还有问题请与管理人员联系。err:" & ERR.NUMBER

ELSE

    SendStat = SendStat & "<br>" & "邮件发送成功。"

END IF

SendMail =  SendStat

END FUNCTION

 

'Response.Write SendMail("em1980@21cn.com", "21212", "111", "111")

%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值