==ASP==
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0628621
02/06/06 23:43ID:HZspSnk8失礼します。
0629nobodyさん
02/06/07 10:37ID:lJP0VltF0630anonymous
02/06/07 23:13ID:6y0JL1CY超古典的だよ。やってて楽しいの?
0633anonymous
02/06/08 00:01ID:sAeg6oVCおまえは、もっとタイプの練習しな > 632
0634nobodyさん
02/06/08 08:26ID:ImGHPXP2オブジェクト指向に特化した言語仕様というのであれば、
クラスとかは一応使えますってレベルでしょうか。
しかし、それ以前に、自分がオブジェクト指向でプログラムを
設計できることが先かなぁとか思う。
何も、継承やポリモルフィズムに特化したOOP言語の「機能」を使うことが
オブジェクト指向じゃないよなぁって思うんだけどね。
かと言って、ASPがお手軽ツールが故の限界は否定されることではありませぬ。
生産性が高く、よく出来てるなぁとは思いますけどね。
0635nobodyさん
02/06/08 08:36ID:???VBとかでCOM作ってそれを呼べばいいだけの話だし。
もちろんそこまで高度なことしなくても、634の言う通り「お手軽」ツールではあるけどな。
0637nobodyさん
02/06/09 03:00ID:???0639nobodyさん
02/06/10 00:07ID:???それは「暗黙の了解」ってやつでしょう。
言葉の意味が間違って使われることなんてよくあることだし、それが一般化してしまえば、「間違った意味」ではなくなる。
ASPのプログラム=ASPで動くVBScriptやJScriptのプログラム、でいいんじゃないかな。
0640637
02/06/10 02:18ID:???0641名無しさん@そうだドライブへ行こう
02/06/10 10:54ID:i5c2WU+NランダムID作成
DB Open
IDがダブってないかチェック
存在しなければ、登録
存在したら、k = k + 1
Next
って、してるんだけど、ダブったID分だけ、少なくなる
なんで?
何が少なくなるのかわからん。
0643nobodyさん
02/06/10 21:13ID:pExJBB0bOPEN何回するんだ
ForNext使うような処理か
ランダムにする必要があるのか
0644nobodyさん
02/06/11 02:01ID:???For Next の To の部分(k)をループの中でいじるなよ。
Do Loop にして If で Exit Do せよ。
0645即答お願い!
02/06/11 05:46ID:SR7p/BHHWindowsプログラム経験は0で、ほとんどがUNIXでの開発でした。
スキルはPerl,PHP,PostgreSQL,MySQLって感じなんだけど、大丈夫かな?
ASPって簡単?
0646help me!!
02/06/11 06:01ID:Eq2bnklk0647nobodyさん
02/06/11 06:20ID:81ebp4mZソースの部分ぜんぜん見てなんだ...
コネクション何回も開いてるし、Forの中でイランとこいじってるし。
一番大きいIDを拾って、+1するんじゃだめなんか?
それかAccessならオートナンバーにするとか。
0650649 ◆IUSR/9/M
02/06/11 08:49ID:???0651641
02/06/11 10:03ID:o4wPDLWo一応、書いてなかったけどコネクションは閉じてるんです。
でも、ForNextの数字をいじったのがいけないみたいですね・・・。
炒ってきます
0652 ◆IUSR/9/M
02/06/11 10:10ID:gBpO67K9別に叩く気は無かったが。
それに閉じてないのが問題じゃなくて...
ふつうはコネクション開くのはForループの前でいいっしょ。
で、ループから抜けたら閉じると。
でもこの処理ではあまりに効率悪いです。
649で書いたこと検討汁。
VBSでASPはかなりお手軽。
PHP、Perlが出来れば楽勝と思われ。
JScriptのほうは知らん。
それにしてもこのスレの人ってASP関係以外でどんなスキル持っているの?
0654教えてください
02/06/11 10:46ID:???<div align="center"><a href="kekka.asp?mode=dlt&key=<%=RS("T_SEQ")%>" onClick="Delete_OnClick()">削除</a></div>
------------------------------------------------------------
と書いて
削除押したら自分自身(kekka.asp)を呼び出して
確認メッセージを以下のVBScriptで確認します。
------------------------------------------------------------
Function Delete_OnClick()
Dlt_OnClick= False
lngRC = MsgBox(""本当に 削除してもいいですか?" ,vbOKCANCEL,"削除フォーム")
If lngRC = vbOK Then
MsgBox "ok"
Dlt_OnClick= True
else
Dlt_OnClick= False
Exit Function
end if
End Function
------------------------------------------------------------
流れは
「削除」のリンククリック→確認メッセージ表示→
OKならSQL実行、キャンセルならなにもしない
といったようなことしたいのですが上のやり方で
確認メッセージまでは出せたのですが
Request.QueryString("mode") = "dlt"ならSQL実行
というので判断しようとしたんですが
できません。
どうしたらいいでしょうか?
何かいい方法があればよろしくお願いします。
0655641
02/06/11 12:07ID:o4wPDLWoそーですね。実際効率悪いです(オ
やっぱり、炒ってきます
0657nobodyさん
02/06/11 19:16ID:Lbf3EwoP[アプリケーションの設定|アプリケーション名]
の所のアプリケーションって一体何を意味しているのですか?
あと、実行アクセス権とアプリケーション保護ってのも。
意味がわかりません。
あそこに"アプリケーション"が作成されてなくてもASPは動作するような気がします。
どうしてでしょうか?
0658nobodyさん
02/06/11 21:11ID:thQNmmcOアプリケーション=global.asa って何か調べてみなされ
0659nobodyさん
02/06/11 21:48ID:thQNmmcOFunction Delete_OnClick()
Dlt_OnClick= False
lngRC = MsgBox(""本当に 削除してもいいですか?" ,vbOKCANCEL,"削除フォーム")
If lngRC = vbOK Then
MsgBox "ok"
Dlt_OnClick= True
else
Dlt_OnClick= False
Exit Function
end if
End Function
Function は Delete_OnClick() なんだろ
なのに戻りがDlt_OnClick とはどういうことだい?
あと、Exit Functionは必要かい?
0660nobodyさん
02/06/12 18:09ID:0p8gfwGx0663nobodyさん
02/06/12 21:11ID:jRTSFpK+ちなみに俺は秀丸
0664nobodyさん
02/06/12 23:37ID:???0666659
02/06/13 20:31ID:GAxJ69kX<a href="kekka.asp?mode=dlt&key=<%=RS("T_SEQ")%>" onClick="Delete_OnClick()">削除</a>
ところで、こんな書きかたってできるのか?俺が知らないだけか・・・
メッセージが出るなら
If lngRC = vbOK Then
MsgBox "ok"
"Delete Sql " ←ここにSQL書けばいいんじゃないの?
Dlt_OnClick= True
else
Dlt_OnClick= False
Exit Function
それか
<a href="kekka.asp?mode=dlt&key=<%=RS("T_SEQ")%>">削除</a>
これでkekka.aspのあたまで確認メッセージだして
Noだったらresponse.redirectで戻ってくればいいんじゃない?
0667nobodyさん
02/06/13 22:03ID:???emacsおすすめ(藁
0668nobodyさん
02/06/13 22:08ID:???それじゃいかんよ。確認ダイアログの表示はクライアントで動いて
いるんだから。次のようにしないとダメだ。
<%
Dim SCRIPTNAME
SCRIPTNAME = Request.ServerVariables.Item("SCRIPT_NAME")
Select Case Request.QueryString.Item("mode")
Case "del"
call DeleteSQL()
Case Else
call WriteDoc()
End Select
Sub DeleteSQL()
'ここでレコードを削除する処理を書く。
response.Write ("削除しますた")
End Sub
〜〜〜続く〜〜〜
0669nobodyさん
02/06/13 22:09ID:???Sub WriteDoc()
Dim DelKey
'ここでDBに接続して削除するレコードのキー
'を取得する処理を書く。
DelKey = RS("T_SEQ")
'---------Here Documet Start------------%>
<html>
<head>
<script language="JavaScript">
<!--
function Kakunin(){
res = confirm("本当に削除しますよ?");
if (res == true)
window.location.href="<%= SCRIPTNAME %>?mode=del&key=<%= DelKey %>";
}
//-->
</script>
</head>
<body>
<a href="#" onClick="Kakunin();">削除</a>
</body>
</html>
<%'------Here Document End ------------
End Sub
%>
0670nobodyさん
02/06/13 22:11ID:???0671nobodyさん
02/06/13 22:12ID:nCrZQ6cdどう判定したらいいですか?
「1000」とかをはじきたいのですが。
よろしくお願いします。
0672659
02/06/13 22:57ID:GAxJ69kXっていうか・・・ASPスレだよなここ・・・・↑これはどうよ
0674nobodyさん
02/06/14 00:46ID:qFND6rQ7どっかでみたような質問だな(w
そしてどっかで回答したぞ(w
0675nobodyさん
02/06/14 00:48ID:qFND6rQ7これもどっかで回答したなー(w
俺のじゃ動かなかったのかYOヽ(`Д´)ノ
0676nobodyさん
02/06/14 00:53ID:qFND6rQ7RegExp使うヨロシ
0677nobodyさん
02/06/14 08:12ID:???適当にこんなのでいいんじゃないの?
Function TimeChk(str)
str = Replace(str,":",":")
TimeChk = IsDate(str)
End Function
0678 ◆IUSR/9/M
02/06/14 15:28ID:1+7Gqjw1この辺のことよくわかってないんだが、開いたレコードセットの数だけ
コネクション勝手に張られるって事?
ってことは
Sub Hirakimakuri
Conn.Open strConnection
'何かの処理
Conn.Close
'(★★↑ここは実際にはまだ閉じてないよーん★★)
Conn.Open strConnection
'(★★↑実わ始めっからひらいてるよーん★★)
'何かの処理
Conn.Close
End Sub
ていうことが起こってるの?
この辺のことかなり疎いんだわ。
ちょっと勉強してみるわ。
0681nobodyさん
02/06/15 23:18ID:???IIS+ASP+SQLServerはどうなの?
なんかええことある?
0682nobodyさん
02/06/15 23:22ID:c7DLdRcNえらそうにみえる
アクセスは同時接続どうのこうの・・・の制限が・・・云々・・・
0683nobodyさん
02/06/15 23:30ID:???ありがとう、導入してみます。
ところで、わかりやすいHP紹介してほしいです
CD入れて次へ次へってかんじなのかな
テーブルの作り方は、SQLで作るのかな?
それともドラッグでいいの?
0684nobodyさん
02/06/15 23:35ID:c7DLdRcNhttp://www.ki.rim.or.jp/~kuro/MSDE/
http://riss.narc.affrc.go.jp/kssys/asp/
0685nobodyさん
02/06/15 23:45ID:???ASPの書き方は、わかりやすそうだ、どうもです
MSDEってのがいまいちわからんACCESSにネットワーク機能がついてるだけか?
SQLServerをADODBで接続するときは、ASPのコードはACCESSの接続と変更なしと考えてよろしい?
0686nobodyさん
02/06/16 00:00ID:/0Let3kQDSN=XXXなら変更なしと考えていてもほぼOK
↑間違ってたら誰かが突っ込んでくれるだろう
0687nobodyさん
02/06/16 23:33ID:vYTgrEdEmdbを使っていると、こんなメッセージが出ることがあります。
## [Microsoft][ODBC Microsoft Access Driver]
## '(不明)' は既に使用されているので、使用できませんでした。
[ソース]
Dim Con1, Con2
Set Con1 = Server.CreateObject("ADODB.Connection")
Set Con2 = Server.CreateObject("ADODB.Connection")
Con1.Open DATASOURCE
Con2.Open DATASOURCE '<-エラー
この問題はmdbおよびmdb、aspにIURのフルコントロールを与えれば解決できます
とhttp://support.microsoft.com/default.aspx?scid=kb;JA;q174943に
書いてあり、実際そうなのですが、Webから見えない位置に置くとはいえ、
IUSRにフルコントロールを与えることに何か抵抗を感じるのですが、これは
セキュリティ上問題は無いのでしょうか?
0688nobodyさん
02/06/16 23:56ID:???何をしたいかによるが、開発する環境と運用する環境が違うのなら
SQLでテーブル作る癖をつけといたほうがいいような。
まあ、SQL Serverはあとからテーブル作成SQLを吐き出せるのだが。
GUIから作るのならEnterprise Managerから作る。
0690 ◆IUSR/9/M
02/06/17 10:48ID:3sfMcnHJMSDE=(SQL Server-Enterprise Manager) * ちょっとデチューン
みたいなもん。
0691nobodyさん
02/06/17 16:16ID:???0693nobodyさん
02/06/17 20:30ID:???0694nobodyさん
02/06/18 01:22ID:aJVZLNcN3) 同時アクセス制限
同時アクセスの制限はない。ただし,同時接続数が5ユーザーを超えるとパフォーマンスが低下するので,多くの同時アクセスが見込まれる環境では,MSDEではなくSQL Server 7.0を利用すべきである。
なお,MSDEの接続にあたってClient Access License(CAL)は不要である(ただし,SQL Serverと同時使用する場合には必要となる)。
0695nobodyさん
02/06/18 19:21ID:???やっぱりMySQLだな・・・。金無いし・・・。
0696nobodyさん
02/06/19 16:30ID:crp6hIVvに参っています。
フォルダを削除した後に同じ名前のフォルダを作り直す処理ですが
フォルダが削除される前に次のSTEPに進んでエラーとなります。
WinXPでテストした時は問題なかったんだけど、NT4で現象が発生してます。
こんなもんなの?
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(wWorkPath & Request.ServerVariables("REMOTE_ADDR")) Then
fso.DeleteFolder wWorkPath & Request.ServerVariables("REMOTE_ADDR")
End If
fso.CreateFolder wWorkPath & Request.ServerVariables("REMOTE_ADDR")
0697696
02/06/19 16:42ID:crp6hIVvが格納されます。
0698名無し
02/06/19 17:37ID:RNxca6md0699nobodyさん
02/06/19 19:47ID:???0700696
02/06/19 20:23ID:crp6hIVvエラーが起った後にエクスプローラからフォルダとファイルを監視
していると徐々にファイルが消えていきます 謎!
それも1つのファイルが消えるのに数十秒のラグが発生しています。
もしかして環境がおかしいのか?
0701nobodyさん
02/06/19 20:58ID:???If <フォルダが存在している> then
<フォルダ削除処理>
End If
<新規フォルダ作成処理>
というロジックはおかしいでしょ。削除処理が完了する前に
フォルダ作成処理に突入する可能性があるんだから。
0702nobodyさん
02/06/19 21:34ID:XkCkjy5uブラウザからASPファイル見るとタグが表示されて、画面もグレーになってる
ASPファイルとか入れるディレクトリってきまってんの?どこでもいいわけじゃないのん?
それともPWS入れるだけじゃあかんのん?設定がいるとか?
PWSじゃ動かないとか?
0703696じゃあないよ
02/06/20 01:30ID:wnM832rEえ?じゃあ フォルダが削除されるまで空ループがいるってこと?
FileSystemObjectってそんな仕様だっけ??
0704nobodyさん
02/06/20 02:01ID:1JHpxVoLASPがインストールされてないかも・・・
0705 ◆IUSR/9/M
02/06/20 09:24ID:su7EC3ei漏れもこのソースで試してみた。
フォルダの中に100個のJPGファイルも置いてみたけど、ちゃんと動いたぞ?
サーバに問題があるんで内海?
その1
OS : NT4 SP6
CPU : PIII Xeon 700MHz(1MB Cache)×2
Memory : 512MB
HDD : 36GB(10000rpm)×3(RAID5 128MB Cache)
その2
OS : Win2k SP2
CPU : PIII 1.13GHz
Memory : 512MB
HDD : 18GB(10000rpm)×3(RAID5 128MB Cache)
0707696なんですよ
02/06/20 10:08ID:rekZtjULNT4とWinXPの違いかと思ったがどうもそうでないようですね。
やはり環境が怪しいみたいです、サーバー再起動できたら検証しなおします。
うちの環境は
正常に稼動するテスト機はPen4のWinXPのPro
おかしな挙動のは業務運用中のサーバーで706の1をグレードダウンした感じです。
現在は以下のコードで無理やり回避中です。
Function funcFileDelete()
wFolderPath = wWorkPath & Request.ServerVariables("REMOTE_ADDR")
Set fso_nd = Server.CreateObject("Scripting.FileSystemObject")
Set fldr_nd = fso_nd.GetFolder(wFolderPath)
For Each files In fldr_nd.Files
files.Delete
Next
End Function
'-----Main Code----
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(wWorkPath & Request.ServerVariables("REMOTE_ADDR")) Then
funcFileDelete
Else
fso.CreateFolder wWorkPath & Request.ServerVariables("REMOTE_ADDR")
End If
0708696なんですよ
02/06/20 10:12ID:rekZtjUL見にくくてスマソ
>>702
Option Pack いれましょう。
http://www.microsoft.com/japan/products/ntserver/option_pack/default.htm
0709nobodyさん
02/06/20 15:29ID:ZyXfvRcMaccess mdbを使ってさ、
たとえばテーブル2つあって、
<基本情報テーブル>ID 名前 性別ID
<性別テーブル>性別ID 性別
こんな感じだとするじゃん。
で、accessでリレーションシップを設定しておくのよ。
とうぜん性別IDでつなぐ。でまあ適当なデータを入力しておくと
するでしょ。
これをさ、asp(IIS5.0、VBScript)からDB接続して、SQL文で
Set ObjRecSet = Server.CreateObject("ADODB.Recordset")
SQL = "select * from 基本情報"
ObjRecSet.Open SQL, ObjConnect
ってやってObjRecSetにセットして
<% = ObjRS("名前") %>
<% = ObjRS("性別ID") %>
<% = ObjRS("性別") %>
ってやると、性別だけでない(ていうかそんなのないってエラーになる)。
たしかにaccessでも、デザイン画面では性別IDしかない。あたりまえだけど。
でも、リレーションシップを設定してるから、データ入力画面では
むしろ性別しかないわけよ(性別IDがない)。
リレーションシップってaccess内でしか使えないの?
ってことは、
SQL="SELECT * FROM 基本情報テーブル,性別テーブル WHERE 基本情報テーブル.性別ID = 性別テーブル.性別ID"
ってやんなきゃいけないってこと?
それか、このSQL文でクエリをaccessで作っておいて
SQL="SELECT * FROM 出力クエリ"
ってやってもいけるんだけど、accessでみるとリレーションシップを設定してる上にSQL文いれて作ったクエリだから、
性別が二個になっちゃう。これはちょっとどうかと思うしさ。
なんかいい方法ないかなぁ。
あとほかのDB使ったことないんだけど、リレーションシップってどのDBにも
あるものなの?
0710709
02/06/20 15:30ID:ZyXfvRcM<% = ObjRS・・・
ってやつ、ObjRecSetのことね
0711702です
02/06/20 22:46ID:0yGbDEJb及びオプション入れて、管理マネージャーの既定のWEBサイトの下に雑誌についてたaspサンプルファイル置いた
けど、やっぱ動かないんだけど。
何が足りないですか?スクリプトの実行も許可してるんだけど。
0712nobodyさん
02/06/20 23:28ID:T3o97qem0713nobodyさん
02/06/21 01:19ID:HI8FWHcIブラウザのアドレスにコンピュータ名入れてenter押してみそ
aspの紹介画面が出れば動いてるよ。
もしかしてだがネットワークが確率してないとか?
単体で動かしてる? そうならループバックアダプタ入れてネットワークが稼働
してる状態にしませう、ネットワークコンピュータから自分が見えればok。
0716709
02/06/21 11:02ID:IFsoH9aHところでローカルでテストしてると、
たまに
ObjConnect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(dbPath & dbFile)
の行で「エラーが特定できません」のエラーになるんだけどなんで?
なんどかやると通るのよ。謎。
じゃあマヂレスしてみる。
Accessでいうリレーションシップって参照整合性をとるために設定するもので
SQL文とはあんまり関係ない(詳しい人のツッコミきぼんぬ)。
当然プログラム(別にフォームでもレポートでもいいけど)から使うフィールドはSELECT
の後ろに定義されていなければならないはず。
普通は
SELECT 基本情報テーブル,*, 性別テーブル.性別名 FROM 基本情報テーブル,性別テーブル WHERE 基本情報テーブル.性別ID = 性別テーブル.性別ID
あるいは
SELECT 基本情報テーブル,*, 性別テーブル.性別名 FROM 基本情報テーブル INNER JOIN 性別テーブル ON 基本情報テーブル.性別ID = 性別テーブル.性別ID
でいいと思うんだが?
>ObjConnect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(dbPath & dbFile)
これは俺は知らない。ODBC経由でDBを開くのか?
ちなみに俺の書き方↓
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MDBPass & ";Persist Security Info=False"
Conn.Open ConnStr
なんかASPというよりAccessの質問っぽいのでsage。
0719709
02/06/21 12:46ID:IFsoH9aHどーもです!
なるほど、つまりプログラムからmdb使うときは
リレーションシップは無視していつもどおりSQLを書けって
ことか。
ちなみに俺はどーもINNER JOINが理解しにくいから、
いつも>>717の前者のSQL文を書くんだけど、これって
どっち使ったほうがいいとかあるのかな?
どうしてもINNER JOINを使えっていうならちゃんと勉強してみるんだけど、
別に使わなくてもぜんぜんできるからねぇ。困ったもんよ。
ちなみにのDBオープンは、ODBC経由で開いてるよ。
だめなの?どっかで見たやり方そのまんまだと思うんだけど。
ODBC経由の方法を覚えておけば、ほかのRDBMSでも
そのまま使えるかなぁと思ってさ。どうなん?
何かの記事(何かは忘れた)に直積とる(WHEREでKeyを結びつけるやり方)よりもINNER JOIN句使ったほう
が早いっていうのがあった(SQL Serverの場合)。
それよりも漏れは複雑なSQL文書くときはAccessとかでクエリー作ってそれをこぴぺした物を元にいじって使う
事が多いからINNER JOIN使う。
>ちなみにのDBオープンは、ODBC経由で開いてるよ。
>だめなの?どっかで見たやり方そのまんまだと思うんだけど。
だめだとは言わないがエラーが出るならほかの方法も試してみようとは思わないか?
仕事中カキコsage。
0722nobodyさん
02/06/21 14:45ID:/aM6f8Di0723nobodyさん
02/06/21 19:21ID:TlHUu6Iw誰かベンチマークよろしくw
0724nobodyさん
02/06/22 00:16ID:jebv9Dxp何度かやると通るのはよくある事。
M$のよいところか悪いところか適当にやって動くのよね。
でも正解はそのうちのどれか。
M$ががんがってテストした方法が一番まともなんだけど
それがどれなのか とほほ(−−;;
0726nobodyさん
02/06/22 23:35ID:IrZz6jEcあるのでしょうか。WSHのタイマー関数とか使って自作するのでしょうか。
あとはストレスツールくらいしか思いつかないのですが、これはアクセス時の
オーバーヘッドが発生するのであまり使いたくないです。。
よろしくお願いします。
0727nobodyさん
02/06/22 23:55ID:iOfYHM5m「すいません、ちょっと計ってみます」と・・・
片手にアナログ時計を持って・・・・
おまえはネタか・・・・・と思ったことがある
■ このスレッドは過去ログ倉庫に格納されています