如何将用户从asp页面,字符串或整数中输入的值与数据库(Sql服务器)中某一列的值进行比较。将文本框的值与列的值进行比较
例如: 我在我的页面上有一个用于用户标识的文本框。 ,我想检查用户标识是否已经存在于表的用户标识列中。
如何将用户从asp页面,字符串或整数中输入的值与数据库(Sql服务器)中某一列的值进行比较。将文本框的值与列的值进行比较
例如: 我在我的页面上有一个用于用户标识的文本框。 ,我想检查用户标识是否已经存在于表的用户标识列中。
您可以调用一个存储过程,它将检查数据库中的所有记录,并将为您的用户返回某种类型的消息,我在工作中也有类似的情况,并使用以下代码来执行此类操作
CREATE Procedure usp_IsertNewID
@StableID INT = NULL OUTPUT,
@ReturnCode int = NULL OUTPUT,
@ReturnMessage nvarchar(100) = NULL OUTPUT
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
IF @StableID IS NULL
RAISERROR('Validation Failed: User ID cannot be null', 16,1)
IF EXISTS (SELECT UserID from dem.TableName
WHERE UserID = @UserID)
RAISERROR('Validation Failed: User ID already Exists',16,1)
BEGIN TRANSACTION
INSERT INTO TableName(UserID)
VALUES (@UserID)
COMMIT TRANSACTION
SELECT @ReturnCode = 0 , @ReturnMessage = 'Sucess! New Stable Details has added.'
SELECT @StableID = SCOPE_IDENTITY()
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0)
ROLLBACK TRAN
SELECT @ReturnCode = ERROR_NUMBER(), @ReturnMessage = ERROR_MESSAGE()
SELECT @ReturnCode AS ReturnCode, @ReturnMessage AS ReturnMessage,
ERROR_LINE() AS ErrorLine,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState
END CATCH
SET NOCOUNT OFF;
END
GO
你可以进一步调整以符合你的要求,我希望这会让你在正确的方向。您也可以做类似的事情,而不是让用户插入您创建的ID并将您的自我标识并发回给用户,从最终用户处获取所有其他信息并自行创建ID,并更好地控制数据库的管理。 –
好。你说过你使用SqlCommand类。
SqlDataAdapter dap = new SqlDataAdapter();
DataTable tbl;
cmd.CommandText = "SELECT * FROM YourTable WHERE [user id]='@a'";
cmd.Parameters.AddWithValue("@a", YourTextBox.Text);
dap.SelectCommand = cmd;
dap.Fill(tbl);
if(tbl.Rows.Count > 0)
//user id is already exist
感谢队友,它工作:) – Sunny
你问的是如何连接到数据库?你已经尝试了什么? – Tarec
你问是否用户输入已经存在于数据库中?是的,我们需要看看迄今为止你已经尝试过了什么。 – gunr2171
什么是您的文本框名称?你如何发送数据到服务器?通过GET方法或POST方法?你的SQL服务器名称是什么?你的表名是什么?你能不能展示一些你的代码? –