For Inserting unique value in database table, you are trying to get unique value in DataTable this approch is wrong, because if you check uniqueness in datatable and insert into database table but when next time same datatable contain unique rows but that row may be exists in table and when you insert it will be duplicate so I suggest you don't try this approach.
Better is you check uniqueness just before the insert row in database table, so you check exists of that column value in database table if not exist than only insert.
eg.
CREATE PROC SPNAME
(
@USERNAME VARCHAR(50)
)
AS
BEGIN
IF NOT EXISTS(SELECT * FROM TblName WHERE USERNAME = @USERNAME)
BEGIN
INSERT INTO TblName VALUES(@USERNAME)
END
ELSE
BEGIN
-- RETURN MESSAGE HERE FOR EXIST THAT RECORD OR WHAT YOU WANT
END
END