今日、編集者はSQLステートメントのコレクションを共有します。興味のある友達、編集者と一緒にそれについて学びましょう!
1. ASPへの接続アクセスデータベース:
DIMCONN、MDBFILE
mdbfile = server.mappath( "データベースname.mdb")
setConn = server.createObject( "adodb.connection")
conn.open "driver = {microsoftaccessdriver
(*.mdb)}; uid = admin; pwd = database password; dbq = "&mdbfile
%>
2。ASPへの接続SQLデータベース:
ディムコン
setConn = server.createObject( "adodb.connection")
con.open "provider = sqloledb; data
SOURCE = SQL SERVER名またはIPアドレス; UID = SA; PWD =データベースパスワード;データベース=データベース名
%>
レコードセットオブジェクトを作成します:
setrs = server.createObject( "adodb.recordset")
rs.opensqlステートメント、conn、3,2
3.一般的なSQLコマンドの使用方法:
(1)データレコードフィルタリング:
sql = "select*from from from field name = field value orderby field name [desc]"
sql = "select*from from from from field name yike '%field value%' orderbyフィールド名[desc]"
sql = "selecttop10*from from where field name orderby field name [desc]"
sql = "select*from from from field name in( 'value 1'、 'value 2'、 'value 3')"
sql = "select*fromデータテーブルから値1と値2の間のフィールド名"
(2)データレコードの更新:
sql = "データテーブルの更新フィールド名=フィールド値条件付き式」
sql = "データテーブルの更新フィールド1 =値1、フィールド2 =値2 ...フィールドn =値n where条件式"
(3)データレコードの削除:
sql = "条件付き式WHERE DELETEFROMデータテーブル"
sql = "deletefrom data table"(データテーブルのすべてのレコードを削除)
(4)データレコードの追加:
SQL = "InsertIntoデータテーブル(フィールド1、フィールド2、フィールド3…)値(値1、値2、値3…)"
sql = "insertintinintointoターゲットデータテーブルSelect* from source data table"(ソースデータテーブルレコードをターゲットデータテーブルに追加)
(5)データレコード統計関数:
AVG(フィールド名)テーブル列の平均値を取得します
カウント(*|フィールド名)特定の列に値を持つデータ行の数に関するデータ行の数または統計に関する統計
max(フィールド名)テーブル列の最大値を取得します
min(フィールド名)テーブル列の最小値を取得します
sum(フィールド名)データ列の値を追加します
上記の関数方法を参照してください:
sql = "条件付き式のデータテーブルからのエイリアスとしてのselectsum(フィールド名)"
setrs = conn.excute(sql)
Rs( "Alias")を使用して統計計算値を取得し、他の関数が上記と同じで使用されます。
(5)データテーブルの確立と削除:
作成可能なデータテーブル名(フィールド1タイプ1(長さ)、フィールド2タイプ2(長さ)…)
例:createTableTab01(namevarchar(50)、datetimedefaultnow())
ドロップテーブルデータテーブル名(データテーブルを永続的に削除)
4。セットオブジェクトを記録する方法:
rs.movenextは、記録ポインターを現在の位置から1行下に移動します
Rs.MovePreviousは、記録ポインターを現在の位置から1行上に移動します
rs.MoveFirstは、レコードポインターをデータテーブルの最初の行に移動します
Rs.Movelastは、レコードポインターをデータテーブルの最後の行に移動します
rs.absoluteposition = nデータテーブルの行Nにレコードポインターを移動する
rs.absolutepage = nページnの最初の行にレコードポインターを移動します
rs.Pagesize = n各ページをnレコードに設定します
rs.PageCountページサイズの設定に従ってページの総数を返します
rs.RecordCountレコードの総数を返します
Rs.Bofは、レコードポインターがデータテーブルのヘッドを超えるかどうかを返します。 trueはyes、falseはnoです
rs.EOFは、レコードポインターがデータテーブルの終わりを超えるかどうかを返します。 trueはyes、falseはnoです
Rs.Deleteは現在のレコードを削除しますが、レコードポインターは下向きに動きません
rs.addnewデータテーブルの最後にレコードを追加する
rs.Updateはデータテーブルレコードを更新します
------------------------------------------------------------------------------------�
レコードセットオブジェクトメソッド
オープンメソッド
Recordset.opensource、activeConnection、cursortype、locktype、options
ソース
レコードセットオブジェクトは、ソースプロパティを介してコマンドオブジェクトに接続できます。ソースパラメーターは、コマンドオブジェクト名、SQLコマンド、指定されたデータテーブル名、または保存されていることができます
手順。このパラメーターが省略されている場合、システムはレコードセットオブジェクトのソースプロパティを使用します。
ActiveConnection
RecordSetオブジェクトは、ActiveConnectionプロパティを介して接続オブジェクトに接続できます。ここでのアクティベートは、接続オブジェクトまたはデータベース接続情報(ConnectionString)を含む文字列パラメーターです。
cursortype
RecordSetオブジェクトのオープンメソッドのCursorTypeパラメーターは、adopenforwardonly、adopenkeyset、adopenendynamic、adopenstaticなど、データを起動するカーソルタイプを示します。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
定数定数値の説明
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
adopenforwardonly0デフォルト値は、(前方に)前方にしか移動できるカーソルを開始します。
adopenkeyset1は、キーセットタイプのカーソルを開始します。
adopendynamic2は、動的型カーソルを開始します。
adopenstatic3は静的タイプカーソルを開始します。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
上記のカーソルタイプは、レコードセットオブジェクトのすべてのプロパティとメソッドに直接影響します。次のリストは、それらの違いを説明しています。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
RecordSetプロパティ採用ForwardOnlyAdopenkeySetadopendynamicAdopenstatic
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
AbsolutePageは、読みやすく、書き込み可能、読み取り可能、書き込み可能なものをサポートしません
絶対的なものは、読みやすく、書く、読みやすく、書き込み可能なものをサポートしません
ActiveConnection Readable、書き込み可能、読み取り可能、書き込み可能、読み取り可能、書き込み可能、読み取り可能、書き込み可能
BOF読み取り専用読み取り専用読み取り専用読み取り専用読み取り専用読み取り専用
ブックマークは、読みやすく、書き込み可能で、読みやすく、書き込み可能なものをサポートしていません
Cachesizeは読み、書き込み、読み取り、書き込み、読み、書き込み、読み、書き込み、読み取り、書き込み、書き込みをすることができます
読みやすく、書かれたもの、読みやすく、書きやすく、読みやすく、書き込み可能、読み取り可能、書き込み可能
cursortypeは、読み取り、書き込み、読み取り、書き込み、読み取り、読み書き、読み書き、読み取り、書き込み、書き込みをすることができます
editMode読み取り専用読み取り専用読み取り専用
読むだけです
EOF読み取り専用読み取り専用読み取り専用読み取り専用
読むだけです
フィルターは、読みやすく、書きやすく、読みやすく、書きやすく、読みやすく、書き込み可能で、読みやすく、書き込み可能であることができます
LockTypeは、読み取り、書き込み、読み取り、書き込み、読み書き、読み取り、書き込み、読み取り、書き込み、書き込みができます
Marshaloptionsは読みやすく、書き込み可能で、読みやすく、書かれたり、読みやすく、書いたり、読みやすく、書き込み可能です
MaxRecords Readable、Liteable、Readable、Writeable、Readable、Liteable、Readable、writable
PageCountは、読み取り専用の読み取り専用をサポートしていません
Pagesizeは読み取り、書き込み、読み取り、書き込み、読み取り、書き込み、読み、書き込み、読み取り、書き込み、書き込みができます
RecordCountは、読み取り専用の読み取り専用をサポートしていません
ソースは、読みやすく、書くことができ、読みやすく、書きやすく、読みやすく、書き込み可能で、読みやすく、書き込み可能です
州の読み取り専用読み取り専用読み取り専用読み取り専用読み取り専用読み取り専用
ステータス読み取りのみ読み取りのみの読み取り専用読み取り専用読み取り専用読み取り専用
追加のサポートサポートサポートサポート
CancelBatchサポートサポートサポートサポート
CancelUpDateサポートサポートサポートサポート
クローンはそれをサポートしていないかどうか
密接なサポートサポートサポートサポート
サポートサポートサポートサポートを削除します
GetRowsサポートサポートサポート
MOVEはサポートサポートサポートサポートをサポートしません
MoveFirstサポートサポートサポートサポート
Movelastはサポートサポートサポートサポートをサポートしていません
Movenextサポートサポートサポートサポート
MovePreviousは、サポートサポートサポートサポートをサポートしていません
NextreCordsetサポートサポートサポートサポート
オープンサポートサポートサポートサポート
Requeryサポートサポートサポートサポート
Resyncはサポートサポートをサポートしていません
サポートサポートをサポートします
更新サポートサポートサポートサポートサポート
UpdateBatchサポートサポートサポートサポートサポート
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NextreCordsetメソッドは、Microsoft Accessデータベースには適用されません。
ロックタイプ
レコードセットオブジェクトのオープンメソッドのロックタイプパラメーターは、採用されるロックタイプを示します。このパラメーターが無視されている場合、システムは記録セットオブジェクトのロックタイププロパティをプリセット値として使用します。 LockTypeパラメーターには、adlockreadonly、adlockprssimistic、adlockoptimistic、adlockbatchoptimisticなどが含まれ、次のように説明されています。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
定数定数値の説明
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
adlockreadonly1のデフォルト値、レコードセットオブジェクトは読み取り専用モードで開始され、AddNew、update、削除、その他のメソッドは実行できません。
ADLOCKPRSSIMISTIC2データソースが更新されると、システムは一時的にデータの一貫性を維持するために他のユーザーのアクションをロックします。
Adlockoptimistic3データソースが更新されている場合、システムは他のユーザーのアクションをロックしません。他のユーザーは、データを追加、削除、変更できます。
AdLockBatchOpTimistic4データソースが更新されている場合、他のユーザーは、データを増やすためにCursorlocationプロパティをAdudeClientBatchに変更する必要があります。
操作を削除および変更します。
SQLServerデータベースASPコールの特別な部分
respons.writews2(1)
W2 = WS2(2)
Response.write "a"
Response.Write "B"&ws2(3)& "c"
Response.Write "d"&w2
%>
テーブルを作成します
CreateTableFriends(name1varchar(10)、PhoneVarchar(15))
Accessとは異なり、SQLServerのデフォルトのデータベースは、非常に厳格です。
データベース間でコピーテーブルをコピーします
[intocoolhe.dbo.mainfrommain]を選択します
データベースを削除します
dropdatabasecoolhe
交換機能を見つけます
updateCommend
setgif picture = stift(gif picture、1、21、 "http://192.168.1.2")// GIF画像フィールドの最初から始まる21文字を交換します
記録を変更します
自動的に追加されたフィールドを変更できません
解決策は次のとおりです
CreateTableNew_Employees
(
id_numintidentity(1,1)、
fnamevarchar(20)、
ミニチャー(1)、
lnamevarchar(30)
))
insertnew_employees
(fname、minit、lname)
値
( 'Karin'、 'f'、 'Josephs')
レコードを変更します
updatemain
setgif picture = 'new'howeryId = 4331
レコードを追加します
挿入虫
(カテゴリ、タイトル、リンク、updateTime)
値
( 'cpu'、 'amdathlonxpプロセッサテクノロジーとアーキテクチャ'、 '20011024/01.asp'、 '10-24-2001')
あるテーブルと別のテーブルからレコードトラックを追加する
insertmain
selecta、b、c、dfromnew
Mainに自動的に追加されるフィールドがある場合、新しいテーブルは自動化されたフィールドを選択できず、上記の例でフィールドの書き込みを避けません。
データベース内のすべてのテーブルを見つけます
[fromysobjectswhereextype = 'u'を選択]
フィールドの合計を計算します
select'downloadcount '= sum(ダウンロード数)
テーブル定義情報を検索します
SP_HELPテーブル名
テーブル名を変更します
sp_rename'cool '、「称賛」
テーブルフィールドを追加します(一度に複数のフィールドを追加すると、少し追加されません)
Alttablemain
スイッチビットを追加します
AlterTableMainAdd Age Char(3)、Name Varchar(8)、Gender Char(2)
テーブルフィールドタイプを変更します
元の名前のフィールドタイプはchar(10)です
AlterTableTableTableNamealterColumnnameVarchar(20)
パスワードを変更します
execsp_passwordnull、 'ok'、 'victoria'(パスワードが空の場合)ビクトリアのユーザー名はログインです
execsp_password'ok '、「コーヒー」パスワードはOKからコーヒーに変更されました
AlterTableTable_nameaddcolumncolumn_namedAtype
説明:フィールドを追加します(フィールドを削除するための構文は構文ではありません。)
AlterTableTable_nameaddprimarykey(column_name)
説明:テーブルの定義を変更し、フィールドを主キーとして設定します。
AlterTableTable_NamedopprimaryKey(column_name)
説明:プライマリキー定義を削除します
フィールドのデフォルト値を0に設定します
AlterTableTable_nameaddconstraintdf_test_fieldnamedefault(0)forfieldname
DF_TEST_FIELDNAMEを変更しないでください
フィールド名を変更します
sp_rename'tablename.fieldname '、' newname '、' column ';
列は変更されません
コメント
/*select*fromenews*/or - -select*fromnews-
ここで、挿入注釈に水平線が使用されます
setrs = cn.execute(sql)このステートメントは、SQLステートメントの実行後に構造を返し、結果をRsに割り当てます
cn.executesQlこのステートメントは、SQLステートメントを実行するだけです
Data Type++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ datatypes
Smallint
16ビット整数。
インターガー
32ビット整数。
小数(P、S)
pの正確な値とsのサイズの小数整数。 pの正確な値は、すべての数値(数字)のサイズ値を指し、sは小数点以降の数字数を指します。指定されていない場合、システムはp = 5; s = 0に設定されます。
フロート
実際の32ビット。
ダブル
実際の64ビット。
char(n)
nの長さの文字列は254を超えることはできません。
varchar(n)
長さが固定されておらず、最大長がNである文字列の場合、Nは4000を超えることはできません。
グラフィック(n)
char(n)と同様に、そのユニットは2つの文字でダブルバイト、nは127を超えることはできません。このフォームは、漢字などの2つの文字の長さをサポートするために使用されます。
vargraphic(n)
長さが可変で、最大長の二重の文字列はn、nは2000を超えることはできません。
日付
年、月、日付が含まれます。
時間
時間、分、秒が含まれます。
タイムスタンプ
年、月、日、時間、分、秒、1000分の1秒が含まれます。
このタイプの回復手順は、SQLServerで提供されます。
1.Sp_attach_db [@dbname =] dbname、[@filename1 =] filename_n
データベースをシステムに追加し、DBNAMEでデータベース名を指定し、FileName_nはデータベースファイルとログファイルを指定します。たとえば、Voogiyaライブラリがあります。 sqlserverサービスを停止して、voogiya_data.mdf、voogiya_log.ldfをバックアップして、sqlserverを開始し、ライブラリを削除してから、2つのファイルをSQLServerデータディレクトリにコピーします。 QueryAnalyzerで次のステートメントを実行します。
execsp_attach_db@dbname = nvoogiya、
@filename1 = nd:/mssql7/data/voogiya_data.mdf、(nが追加されていない場合に成功)
@filename2 = nd:/mssql7/data/voogiya_log.ldf(nが追加されていない場合に成功)
このライブラリは、SQLServerGroupに追加されます。
2.Sp_attach_single_file_db [@dbname =] dbname、
[@physname =] fitys_name
このコマンドは、上記の関数と同じです。 Physical_nameでは、データベースの物理ファイル名を記述するだけで、ログファイルsqlserverが再確立されます。次のストアドプロシージャを最初に実行する必要があります。
sp_detach_db@dbname = dbname
上記と同じことが例です。
execsp_detach_db@dbname = voogiya
execsp_attach_single_file_db@dbname = voogiya、
@physname = d:/mssql7/data/voogiya_data.mdf
上記のストアドプロシージャを実行するユーザーはsysadminにある必要があることに注意する必要があります
上記は、SQLステートメントのコレクション共有の紹介です。誰もがそれを好きになることを願っています。その他のコンテンツについては、引き続きWuxin TechnologyチャンネルのWebサイトに注意を払います。