在使用sql语句对数据库操作时,asp(非asp.net)是否能像jsp一样的使用参数,而不是使用字符串连接的方法。
---------------------------------------------------------------
使用存储过程呀。给你一个例子:
CREATE PROCEDURE dbo.sp_userRegInfoSave --录入用户填写的基本资料
(
@in_UserName varchar(15), --用户帐号
@in_PassWord varchar(6), --登录密码
@in_CWebSiteName varchar(50), --网站中文名称
@in_EWebSiteName varchar(50), --网站英文名称
@in_ComName varchar(50), --公司名称
@in_ComAddress varchar(50), --公司地址
@in_PostCode varchar(6), --邮政编码
@in_ComPhone varchar(15), --联系电话
@in_ComFax varchar(15), --传真号码
@in_ComLinkMan varchar(30), --联系人
@in_LM_Email varchar(50), --联系人电子邮件
@in_SiteAddress varchar(50), --网站存放地址
@in_ComIntroduct text, --公司简介
@in_ModelCode varchar(50), --模板代号
@out_RetCode int output --返回值:0表示操作失败,1表示操作成功
)
AS
SET NOCOUNT ON
IF EXISTS(SELECT UserName FROM Tb_AutoUsers WHERE Tb_AutoUsers.UserName=@in_UserName)
BEGIN
SELECT @out_RetCode=0 --判断是否存在同名帐号
RETURN
END
ELSE
BEGIN TRAN
INSERT INTO Tb_AutoUsers(
UserName,
PassWord,
ModelCode
)
Values
(
@in_UserName,
@in_PassWord,
@in_ModelCode
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
Return -1
END
INSERT INTO Tb_AutoComInfo(
UserName,
CWebSiteName,
EWebSiteName,
ComName,
ComAddress,
PostCode,
ComPhone,
ComFax,
ComLinkMan,
LM_Email,
SiteAddress,
ComIntroduct,
ModelCode,
ReleaseTime
)
Values
(
@in_UserName,
@in_CWebSiteName,
@in_EWebSiteName,
@in_ComName,
@in_ComAddress,
@in_PostCode,
@in_ComPhone,
@in_ComFax,
@in_ComLinkMan,
@in_LM_Email,
@in_SiteAddress,
@in_ComIntroduct,
@in_ModelCode,
GetDate()
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
INSERT INTO Tb_AutoTemplate(
UserName,
ModelCode
)
Values
(
@in_UserName,
@in_ModelCode
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
SELECT @out_RetCode=1
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF