-1

intテーブル内の値を検索するにはどうすればよいですか? 実際、私のSQLクエリは文字列値では機能しますが、数値では機能しません。

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

私は vs を使用しており、テキスト ボックスから値を取得しています。グリッドビューにクエリを挿入します。

bookIdは自動生成されたINT値です。

4

2 に答える 2

1

もう少し情報を提供しない限り、この質問に答えるのは非常に困難です。この場合に役立つ情報は、Bookテーブルのテーブル スキーマまたは CREATE ステートメントであり、テーブル内の属性 (または列) とそのデータ型のリストで構成されます。また、MySQL、PostgreSQL、Microsoft SQL Server、Oracle Database など、使用しているデータベース管理システム (DBMS) を知ることも役立ちます。

次の 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 ではなく、何らかのテキスト型であると推測できます。繰り返しになりますが、これまでに提供していただいたデータだけでお手伝いすることは困難です。

于 2013-01-19T21:50:54.657 に答える
1

テーブル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 のすべてのデータを返します

于 2013-01-19T21:09:21.480 に答える