一度に 1 つのクエリを実行しようとしていますが、exsis でない場合は最初にユーザー名をチェックし、その値を挿入します。
public int CreateUser(string UserName,string Pwd)
{
cmd = new SqlCommand("CreateUser", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter name = cmd.Parameters.Add("@UserName", SqlDbType.VarChar);
name.Value = UserName;
SqlParameter password = cmd.Parameters.Add("@Password", SqlDbType.VarChar);
password.Value = Pwd;
DataSet ds = new DataSet();
adpt.SelectCommand = cmd;
adpt.Fill(ds);
conn.Close();
return 0;
}
私のストアドプロシージャは、
ALTER PROCEDURE [dbo].[CreateUser]
-- Add the parameters for the stored procedure here
@UserName varchar(200) = NULL,
@Password varchar(200) = NULL
AS
IF NOT EXISTS(select * from[dbo].[User] where
[dbo].[User].User_Name=@UserName)
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
BEGIN
SET NOCOUNT ON;
-- Insert statements for procedure here
insert into [dbo].[User] (User_Name,User_Password,User_Type)
values (@UserName,@Password,'User')
END
あなたの提案を願っています
前もって感謝します