34,576
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE ManagerUser
(
UserID INT IDENTITY(1,1) PRIMARY KEY NOT NULL ,
UserName NVARCHAR(20) NOT NULL UNIQUE ,
UserPassword NVARCHAR(20) NOT NULL,
UserSort NVARCHAR(12) NOT NULL DEFAULT '系统操作员'
)
GO
---INSERT SOME DATE
INSERT INTO ManagerUser VALUES('zhangsan','123',default)
INSERT INTO ManagerUser VALUES('wangwu','123',default) ----INSERT DEFAULT VALUES
--用以上方法插入默认值是可以的
CREATE PROC spManagerUserInsert
@pUserID INT OUTPUT,
@pUserName NVARCHAR(20) ,
@pUserPassword NVARCHAR(20) ,
@pUserSort NVARCHAR(12)
AS
BEGIN
INSERT INTO ManagerUser
(
UserName ,
UserPassword ,
UserSort
)
VALUES
(
@pUserName,
@pUserPassword,
@pUserSort
)
SET @pUserId = IDENT_CURRENT('ManagerUser');
END
--EXEC spManagerUserInsert 1,'admin3','123456',default
--但是执行存储过程去提示参数@pUserSort需要赋值 不懂是为什么 要怎么样才可以插入默认值
CREATE PROC spMangerUserUpdateByID
@pUserID INT,
@pUserName NVARCHAR(20) ,
@pUserPassword NVARCHAR(20) ,
@pUserSort NVARCHAR(12)
AS
BEGIN
UPDATE ManagerUser
SET
UserName = @pUserName ,
UserPassword = @pUserPassword ,
UserSort = @pUserSort
WHERE UserID = @pUserID
END
----在执行更新存储过程的时候 对于UserSort字段 怎么样插入默认值
还有就是问一个很菜的问题 对于一个三层结构的小系统来说
在数据层,逻辑层对数据是否为空都有验证 是不是说若是前台穿传来的值为空了(该字段不为空) 就有异常报错了 就是说已经提示用户
与错误了 那么为什么还要在数据层验证数据是否为空
我的问题是:
1 EXEC spManagerUserInsert 1,'admin3','123456',default
但是执行存储过程去提示参数@pUserSort需要赋值 不懂是为什么 要怎么样才可以插入默认值
在执行更新存储过程的时候 同样的 对于UserSort字段 怎么样插入默认值
2 既然逻辑层已经验证了数据的有效性 ,那么传入数据层的数据应该说是全部都有效 ,那么为什么还要在数据层验证呢
3 还有就是数据库连接字符串的读取
配置文件
[code=SQL]
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DEFAULT" connectionString="Integrated Security=SSPI;
Persist Security Info=False;Initial Catalog=BookManager
;Data Source= ." providerName="System.Data.SqlClient"/>
<!--<add name="DEFAULT" connectionString="
Data Source=localhost;DataBase=BookManager;User ID=sa; password=xbzhanxin"/>-->
</connectionStrings>
</configuration>
1 conn = new SqlConnection(ConfigurationManager .ConnectionStrings["DEFAULT"].ConnectionString);
2 conn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BookManager;Data Source= .");
--因为不确定默认值,试一下下面的
CREATE PROC spManagerUserInsert
@pUserID INT OUTPUT,
@pUserName NVARCHAR(20) ,
@pUserPassword NVARCHAR(20) ,
@pUserSort NVARCHAR(12) DEFAULT '系统操作员'
AS
--同理另一个存储过程