この記事の冒頭で、前の記事のエラーを指摘するために私に書いてくれた友人に感謝したいと思います。 8番目の記事で、アプリケーションを使用して作成されたシンプルなページアクセスカウンターについて言及したことを覚えているのだろうか?友人が私に、カウンターの開始変数NumVisitsの値を変更した後、最終カウント結果に何の影響を与えなかったのか?最初は困惑していました。次のように、このソースプログラムを思い出しましょう。
<%
Dim Numvisits
numvisits = 0
Application.Lock
Application(numvisits)= application(numvisits) + 1
Application.UnLock
%>
このページへようこそ、あなたはこのページの<%= application(numvisits)%>訪問者です!
このプログラムでは、変数NumVisitsの値を変更することにより、カウンターの結果を変更することは絶対に不可能です。変数の値でアプリケーション値を変更することはできないため、2つは無関係です。したがって、変数の定義と割り当てはここで冗長です。では、アプリケーションの初期値(numvisits)をどのように定義する必要がありますか?次の改訂された手順をご覧ください。
<%
アプリケーション(numVisits)<999の場合
アプリケーション(numvisits)= 999
ifを終了します
Application.Lock
アプリケーション(numvisits)= application(numvisits)+1
Application.UnLock
%>
このページへようこそ、あなたはこのページの<%= application(numvisits)%>訪問者です!
ここの999は、設定するカウンターの初期値であるため、問題は解決されます。私はこの間違いを指摘してくれたこの友人に非常に感謝しています未来は、記事にエラーを見つけたら、すぐにあなたに通知する手紙を送ります。
SQL言語は、データ定義言語とデータ操作言語の操作言語を学んだ後、著者は残りのSQLステートメントを簡単に紹介し続けます。
SQLは、データベースクエリに使用されるだけでなく、SQLクエリをサポートする選択されたステートメントの複雑さ、データベースの内容を変更するSQLステートメントの複雑さと比較して、完全なデータ処理言語です。ただし、DBMSの場合、データの更新によって引き起こされるリスクは、データクエリよりもはるかに大きいです。データベース管理システムは、変更期間中に保存されたデータの一貫性を保護して、効果的なデータがデータベースに入るようにし、データベースが一貫性を保つ必要があり、DBMSが複数のユーザーの並列更新を調整して、ユーザーとその変更ではないことを確認する必要があります。それらに影響を与えます。
データベースコンテンツの変更に使用される3つの主要なSQLステートメントがあります。
1.挿入して、新しいデータ行をテーブルに追加します
2.削除、テーブルからデータ行を削除します
3.更新して、データベースに既に存在するデータを変更します
まず、挿入の使用法を見てみましょう。
標準構文:
table_nameに挿入します
(col1、col2 ...)
値(value1、value2 ...)
次の例は、学者を新しい営業担当者としてテーブルセールスレップに追加することです
挿入
salesreps(名前、num、sales、hire_date、収入)
値( 'Shusheng'、9,10000、'23 -Feb-99 '、2000)
この声明では、列名は括弧内のコンマで区切られ、その後、値の句と列の順序が同じであることに注意する必要があります。文字列タイプで、単一の引用符で区切られています。概念的に言えば、INSERTステートメントは、テーブル列構造と一致するデータの行を作成し、値節から取得したデータを記入し、テーブルの行に新しい行を追加しますしたがって、その列をテーブルの頭または尾に挿入するという概念はありません。挿入ステートメントが終了した後、新しい行はテーブルの一部になります。
挿入ステートメントは、ターゲットテーブルに複数の行を追加することもできます。この形式のステートメントでは、新しい行のデータ値はステートメント本文で明示的に指定されていません。付加価値は、データベース自体の行から来ていますが、最初は奇妙に思えるかもしれませんが、特定の状態ではこれは非常に便利です。たとえば、1998年12月30日までに生成された注文番号、日付、およびOld Orderと呼ばれる別のテーブルにコピーする場合、マルチローウインサートステートメントは、データをコピーするコンパクトで効率的な方法を提供します次のとおりです。
古い注文に挿入(num、日付、金額)
num、日付、金額を選択します
注文から
ここで日付<'30 -12-98 '
このステートメントは少し複雑に見えますが、実際には非常に単純です。これは、新しい行を受け取る古いオーダーテーブルと、1行の挿入ステートメントに完全に似た列を識別します。ステートメントの残りの部分は、注文表からデータを取得するクエリです。 SQLは最初に注文テーブルにクエリを実行し、次にQuery Results RowをOldOrderテーブルに挿入します。
更新ステートメントの使用を使用して、選択した行の1つ以上の列の値を単一のテーブルに更新します。更新されるターゲットテーブルはステートメントで定義されており、SET句は、値を更新および計算する列を指定します。更新ステートメントには常にステートメントが含まれている場所と更新ステートメントが危険な場合があるため、更新する必要がある行を指定するために使用されるステートメントの重要性を明確に認識する必要があります。
標準構文:
table_nameを更新します
columnname1 = value1を設定します
[、columnname2 = value2] ...
search_condition
簡単な更新ステートメントの例は次のとおりです。
顧客を更新します
セットクレジット= 100000.00、id = 99
ここでname = 'asp'
この例では、Table CustomersのASPという名前のクライアントの信用値を100,000に更新し、IDを99に変更します。次の例を見てみましょう。
顧客を更新します
セットクレジット= 200000.00、state = 021
ここでIDの(80,90,100,120)
実際、SQL処理の更新ステートメントのプロセスは、指定されたテーブルを線ごとに通過し、検索条件が真実である行を更新し、検索条件の結果が偽または空の行をスキップすることであることがわかります。
最後に、削除ステートメントを見てみましょう。
標準構文:
TableNameから削除します
条件
単純であるため、結果は深刻です。次の例を参照してください。
id = 99で注文から削除します
記事の最後に、著者はデータ定義言語を簡単に紹介しています。これは、作成およびドロップステートメントを含むデータベース構造を作成および変更するために使用されるステートメントです。
1。ステートメントを作成します
標準構文:
Table Table_nameを作成します
(field1データ型[nullではない]、
field2データ型[nullではない]、
field3データ型[nullではない] ...)
のように:
テーブル請求書を作成します
(名前char(30)、
金額数、
account_id番号)
Createテーブルは以前のステートメントよりも少し理解するのが少し難しいですが、それでも非常に直感的です。請求書を新しいテーブルに割り当て、テーブル内の3つの列の名前とデータ型を指定します。テーブルが作成された後、データを追加できます。のように:
請求書に挿入(名前、amout、account_id)values( 'gates'、100,1)
製品情報を保存する必要がなくなった場合は、Drop Tableステートメントを使用してテーブルとデータベースから含まれるすべてのデータを削除できます。
標準構文:
テーブルTable_nameをドロップします
これまでのところ、一般的に使用されているSQLステートメントをすべて学びました。次の記事から始めて、著者はASPの組み込みのActiveXコンポーネントを紹介します。ご期待ください。