2013-01-19 70 views
-2

如何在表中搜索int值?其實我的sql查詢適用於字符串值,但不適用於數字。在SQL中搜索int值

SELECT * FROM [Book] WHERE ([bookId] = @bookId) 

我使用vs,並從文本框中獲取值。在gridview中插入查詢。

bookId是自動生成的INT值。

+2

您可以添加更多信息嗎?像你的數據庫模式和你的查詢例如? – devdigital

+0

您可以顯示您的表格樣本數據以及您的查詢嗎? :) – bonCodigo

+0

這是繼續http://stackoverflow.com/questions/14414187/delete-row-from-two-sql-tables-that-join-together? – Jacco

回答

0

這個問題很難回答,除非你的int值爲我們提供更多信息。這種情況下的有用信息是表的模式或CREATE語句,由表中的屬性(或列)列表及其數據類型組成。這也將有助於瞭解您正在使用的數據庫管理系統(DBMS),如MySQL,PostgreSQL,Microsoft SQL Server,Oracle數據庫等。

我假設您的表可以通過以下CREATE語句創建:

CREATE TABLE Book (
    bookId INT, 
    bookTitle VARCHAR(30), 
    bookAuthor VARCHAR(30), 
    .. 
); 

在這種情況下,假設(再次)你表包含了一本書,BOOKID 3以下查詢應該沒有問題,運行:

DECLARE @bookId INT; 
SET @bookId = 3; 

SELECT * 
FROM [Book] 
WHERE ([bookId] = @bookId); 

如果這不起作用,我猜想你的bookId屬性的數據類型不是INT,而是一些文本類型。但是,再次,僅用迄今爲止提供的數據很難爲您提供幫助。

+0

真的很抱歉,我編輯了我的問題。 這是INT ... – Hanna

+0

@ user1181065,沒問題。儘管如此,仍然無法幫助你。由於你的問題現在已經關閉了,我會嘗試改進它,當它更好時要求重新打開。這[文章](http://tinyurl.com/so-hints)可以幫助你。祝你好運! – Josien

0

比方說您有表格中的

+----------------+---------------------+------+-----+---------+----------------+ 
| 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 

將返回從表格中的所有數據與3