我应该如何在表中搜索int
值?实际上,我的 sql 查询适用于字符串值,但不适用于数字。
SELECT * FROM [Book] WHERE ([bookId] = @bookId)
我正在使用 vs 并从文本框中获取值。在 gridview 中插入查询。
bookId
是一个自动生成的INT
值。
假设你有表 A
+----------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| data | int(11) | NO | MUL | NULL | |
询问
select * from A where data = 3
将返回表 A 中 int 值为 3 的所有数据
除非您向我们提供更多信息,否则这个问题很难回答。在这种情况下,有用的信息是Book表的表模式或 CREATE 语句,由表中的属性(或列)列表及其数据类型组成。了解您正在使用的数据库管理系统 (DBMS) 也会有所帮助,例如 MySQL、PostgreSQL、Microsoft SQL Server、Oracle 数据库等。
我假设您的表可以通过以下 CREATE 语句创建:
CREATE TABLE Book (
bookId INT,
bookTitle VARCHAR(30),
bookAuthor VARCHAR(30),
..
);
在这种情况下,假设(再次)您的Book表包含bookId 为3 的书,以下查询应该可以正常运行:
DECLARE @bookId INT;
SET @bookId = 3;
SELECT *
FROM [Book]
WHERE ([bookId] = @bookId);
如果这不起作用,我猜你bookId属性的数据类型不是 INT,而是某种文本类型。但同样,仅使用您迄今为止提供的数据很难为您提供帮助。