よろしくお願いします。

select * from db1
into id,password,date,name
where db1_id = ****
and db1_password = ****
and db1_date = 99999999;

(db1_id,db1_password,db1_dateがプライマリキー)

db1という表からプライマリキーに該当したデータを取り出し、
変数に格納したいと思っています。
このSQL文をASPのVBSの中で実現する方法を教えてください。

<%
Dim Conn,SQL,RS
Dim id
Dim password
Dim date
Dim name

db1=server.mappath("db1.mdb")
DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db1
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open DBName
SQL = "select * from db1"
INTO = "into id,password,date,name"
WHERE = "where db1_id = **** and db1_password = **** _
and db1_date = 99999999"
SQL = SQL & INTO & WHERE & ";"
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL, Conn,3,3
%>

これでうまくいくかな~と思ったのですが・・・。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

そもそも、このSQL文は正常に実行できますか?


できない様な気がするのですが、、、

単純に、「insert id,password,date,name」が
余分なだけの気がしますが、、、
つまり、SQLの文法エラー、、

また、もじれるは"(ダブルクォート)で囲む必要が
あるのでは?

SELECT * FROM db1 WHERE db1_id=**** and db1_password='****' and db1_date='99999999'
と記述してみましょう。
変数への代入は、value=RS("db1_id")
の様に記述するはずです。

最近触っていないので、間違ってるかも
しれませんが、、、

この回答への補足

埋め込みSQLをご存知でしょうか?正常に実行できますが。
ちなみに

>単純に、「insert id,password,date,name」が

じゃなくて「into」ですが。

とりあえずVBの世界では関係のない要素なのかもしれません。
(VB歴1ヶ月なのでそこのところはよくわからない)

補足日時:2001/02/08 16:30
    • good
    • 0
この回答へのお礼

>変数への代入は、value=RS("db1_id")
>の様に記述するはずです。

参考にさせて頂きます。ありがとうございました。

お礼日時:2001/02/08 16:35

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBSからのサーバサイドのEXEの実行

こんにちはSHIRAOといいます。
WScript.Shellを使用してサーバにあるEXEファイルを
起動しようと思っているのですがどうもうまくいきません。WScript.Shellを使用する時に何か設定しなければならないことがあるのでしょうか?

<script language="vbscript">
Function Window_OnLoad
:
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\notepad.exe"
:
End Function
</script>

Aベストアンサー

>Set objShell = WScript.CreateObject("WScript.Shell")
何か、エラーが出ていたかと思いますが……。

<script language="vbscript">
として、この領域は、Windowsと違うはずですから、直接、Wscriptのメソッド自体は、使えないはずです。

Set objShell = CreateObject("WScript.Shell")

と、してみてください。

一応、Set objShell = Nothing は入れたほうがよいかもしれませんね。

Q"<%=date変数%>" を "<%=date18(←仮数字)%>"とHTML上で表示させたい

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%
    Else
    End if
    a = a + 1
   Loop
   Response.Write str
   Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="<%=date<%=num%>%>"【←問題の箇所です】>
   <br>
   <div id="caldiv<%=num%>"></div>
<%End Function%>

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   ...続きを読む

Aベストアンサー

実際に試したわけじゃないですけど、普通に &lt;%=date変数%&gt; で
できませんか。
(実体参照)

QVBS★Excel★スクリプト★引数の取得

VBSは初心者というか、やったことがありません。ど素人になります。
説明がとてもぎこちないのもその辺からだと思いますが、宜しくお願いします。
VBのシステムからVBSファイル
<内容>
Dim wbname
Dim mypara
Dim file_path
Dim oApp
file_path = "C:\share\Excel\1234.xls"
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
On Error Resume Next
oApp.UserControl = True
oApp.Workbooks.Open "C:\share\Excel\1234.xls"
Set oApp = Nothing
WScript.Quit
を指定して起動すると(1)Excelで作成したシステムが稼動するように作りたいのですが、(1)を起動する環境設定があり、C:\Documents and Settings\MBS\デスクトップ\1111.vbs #CODE
#CODEが引数になります。
その#CODEをVBSで取得したいのですが、単体で1111.vbsを動かすとExcelファイルは動きます。
元のシステムではexeファイルしかみないようなのですが、例えば電卓とかメモ帳とかは動きます。vbsファイルだけは動きません。どのようにすれば動くかアドバイスをお願いします。
宜しくお願いします。

VBSは初心者というか、やったことがありません。ど素人になります。
説明がとてもぎこちないのもその辺からだと思いますが、宜しくお願いします。
VBのシステムからVBSファイル
<内容>
Dim wbname
Dim mypara
Dim file_path
Dim oApp
file_path = "C:\share\Excel\1234.xls"
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
On Error Resume Next
oApp.UserControl = True
oApp.Workbooks.Open "C:\share\Excel\1234.xls"
Set oApp = Nothing
WScript.Quit
を指定して起動する...続きを読む

Aベストアンサー

VBScript の中で

WScript.Arguments(0)

のようにすれば一つめの引数を取得できます。
>例えば電卓とかメモ帳とかは動きます。vbsファイルだけは動きません。
の意味が良くわかりません。
質問文のプログラムではそういう部分が無いようですが・・

Qvalue="<%=date25(25は変数です)%>"値を変数にしてデータを受け取りたい

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数件(26件)処理するとなると

 変数名1~26の処理をnumに置き換えて
 26個のテキストBOXにそれぞれのデータを出力したいのですが
 どの様に記述すればいいでしょうか?
(value="<%=date<%=num%>%>"にしましたが、データの取得は出来ませんでした。
 value="&lt;%=date<%=num%>%&gt;"も
 テキストBOXに<%=date1%>~26出力されて取得できませんでした)


 説明不足の点がありましたら、即追加いたします。
 以上、よろしくお願いいたします。



ソースを記載いたします

<!-- カレンダー設置関数 -->
<% Function cal(num)
  Dim a
  Dim str %>
  <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%  a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%   Else
    End if
     a = a + 1
    Loop
    Response.Write str
    Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="&lt;%=date<%=num%>%&gt;"【問題の箇所です】>
    <br>
    <div id="caldiv<%=num%>"></div>
<% End Function%>

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数...続きを読む

Aベストアンサー

VBScriptなら Eval関数を使って変数の値を <%= で出力しましょう

value="<%= Eval("date" & num ) %>">

といった具合にします

QVBSでのファイル読込、出力操作について

いつもありがとうございます。

掲題の件について、ご教授頂けますでしょうか。

下記のように『start.vbs』を実行すると『a.txt』の行に記載されている実行ファイル名を読み込み
『test.vbs』にファイル名分のコマンドを書き込みしたいです。


例)
-----------------------------
start.vbs (作成途中)
-----------------------------
Set objWShell = CreateObject("wscript.shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile("c:\a.txt", 1, False)

' 出力先ファイル
Set objVBSFile = objFSO.CreateTextFile(c:\test.vbs, True)

If Err.Number > 0 Then
WScript.Echo "Open Error"
Else
Do Until objFile.AtEndOfStream
objVBSFile.WriteLine(objFile.ReadLine)
Loop
End If


-----------------------------
a.txt
-----------------------------
adobe.exe
photoshop.exe
****.exe
   ・
   ・
   ・

------------------------------
start.vbs
------------------------------
objWShell.Run "cmd.exe c:\adobe.exe ", 0, True
objWShell.Run "cmd.exe c:\photoshop.exe ", 0, True
objWShell.Run "cmd.exe c:\****.exe ", 0, True
   ・
   ・
   ・

vbsをサイトを参考にして作ってはいるものの、start.vbsを実行すると
a.txtのファイル名をvbsに書き込むのが限界です。
少しずつ勉強していくのですが、本件少し早めに作りたいという背景があり
ご教授頂けませんでしょうか。

また、わかりにくい説明となっておりますが
どうぞ宜しくお願い致します。

いつもありがとうございます。

掲題の件について、ご教授頂けますでしょうか。

下記のように『start.vbs』を実行すると『a.txt』の行に記載されている実行ファイル名を読み込み
『test.vbs』にファイル名分のコマンドを書き込みしたいです。


例)
-----------------------------
start.vbs (作成途中)
-----------------------------
Set objWShell = CreateObject("wscript.shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile("c:\a.txt", 1, False)

'...続きを読む

Aベストアンサー

No2だが、書き忘れたことが、
http://msdn.microsoft.com/ja-jp/library/cc392209.aspx

ユーザーガイドの章だが、さらっとよむと30分もあれば、さらっと読める程度の物。いわば概略と呼べる物で、小説で言えばプロローグ程度の物で、ここに本文のキーが凝縮されている物だ。本の読み方の講習だね。

まず、だまされたと思って、ここを最後まで読んでみよう。作成のヒントが凝縮されて書きこまている。200ページ程度のサル本が凝縮されて記載されている。

このようなサイトをサーフィンしてゆくと、本の読み方とか、より良い自分にあった、探していた本を、どのように探し、みいだすのか自分で気がつくものだ。知りたいところをまずみる。そこに自分が知りたい事がどのように記載されているか、抜き出す。それに、どれだけ短時間に出会えたか? それが、あなたにとって最も重要な事。

QASPプログラミングでADODB.Connection (0x800A0E79)エラーが発生

ASP+MSDE 実用Webアプリケーション作成ガイド「ASP実践プログラミング入門」
と言う本を頼りにASPを勉強中です。

現在は、
(1) SQL Server2000内にDBとTable(user_info)を作成。
(2) global.asaファイルを設置。
(3) 「ユーザ登録」aspを実行。(user_infoに追加された)
(4) 「ログオン」aspを実行。

と進めていますが、(4)を実行しID+パスワードを入力後に次のような
エラーがブラウザ上に表示されます。

どなたかお助け頂きたくお願いします。


Q1)『ADODB.Connection (0x800A0E79)オブジェクト・・』と怒られている
  ようですが、何が原因なのでしょうか?

Q2) 解決に向けて調べるべき要点はどこでしょうか?


■発生したエラーはここから■
(IE上の表示です)

ページを表示できません
接続しようとするページに問題があるため、そのページを表示できません。
---------------------対処方法

・[更新] をクリックするか、後で再度実行してください。
・次のホームページ 1**.**.***.**6を開き、 必要な情報が記載されたページ
 へのリンクを探します。
HTTP 500.100 - 内部サーバー エラー - ASP エラー
インターネット インフォメーション サービス
---------------------
技術情報 (サポート担当者用)
・エラー タイプ
 ADODB.Connection (0x800A0E79)
 オブジェクトが開いている場合は、操作は許可されません。
 /mailhen/logon.asp, line 4

・ページ
 POST 27 bytes to /mailhen/logon.asp

・POST Data:
 user=mura****&pass=r*****k

■ここまで■

/mailhen/logon.asp, line 4
1:<% If Request.Form("user") <> "" Then
2: user_id = Request.Form("user")
3: password = Request.Form("pass")
4: adcn.Open Application("DBCN")
5: adrs.Open "select * from user_inf

ASP+MSDE 実用Webアプリケーション作成ガイド「ASP実践プログラミング入門」
と言う本を頼りにASPを勉強中です。

現在は、
(1) SQL Server2000内にDBとTable(user_info)を作成。
(2) global.asaファイルを設置。
(3) 「ユーザ登録」aspを実行。(user_infoに追加された)
(4) 「ログオン」aspを実行。

と進めていますが、(4)を実行しID+パスワードを入力後に次のような
エラーがブラウザ上に表示されます。

どなたかお助け頂きたくお願いします。


Q1)『ADODB.Connection (0x800A0E79)オ...続きを読む

Aベストアンサー

murasacoさん、はじめまして^^

コネクションエラーについてですが、DBまでのパスがあっているかどうかや、ファイル名の指定にミスが無いかどうかをまず確認すると良いと思います。
あとはSQLを実行させる際に、入力された文字などが正しく入ってきているかどうかを確認する為に、Response.writeでSQLの入っている変数を表示してみると良いと思います。

データベースソフトはACCSESSですかね?
その場合はファイルがロックされていないかどうかも確認してみると良いかもしれません^^

QSQLServer2005のストプロでxp_cmdshellを使いvbsファイルを実行できない

ストプロ内でxp_cmdshellを使用し、vbsファイルを実行したいのですが実行できません。
vbsファイルはxp_cmdShellでキックされたらSQLサーバのデータをSELECTし、テキストファイルにSELECTで取得した行数だけ行を追加するという内容です。
vbsファイルはコマンドプロンプトから実行すると動くので正しいと思います。

ストプロにはvbsファイル実行の前後にtableのupdate作業があり、
その2つは行われます。しかし、書き出されるはずのデータがテキストファイルに書き出されません。
vbsファイルは実行されていないようですがエラーは出ず正常終了となり、
xp_cmdshell実行後の戻り値は0で成功となっています。
xp_cmdshellオプションは有効になっており、は混合モードでSysAdminの権限を持つユーザーで処理をしています。

また、ストプロではなく、SQLServerManagementStudioから下記のようにvbsファイル実行しようとした場合、エラーなく正常終了するのですがテキストファイルにデータは追加されていません。
 EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs'
しかし、EXEC xp_cmdshell 'dir *.exe'は実行できます。

vbsファイルをxp_cmdshell で実行するときは何か特殊な記述が必要なのでしょうか。何がいけないのかわからず困っております。お気づきのことがありましたらご指摘いただけますようお願い致します。
以下にストプロの中身をを記述します。


BEGIN

  SET NOCOUNT ON;

-- テーブルのアップデート処理
  UPDATE table1 SET Status = 1
  WHERE Status = 0

--ファイル書き出しvbsの実行
  DECLARE @result int
  SET @result = 1
  EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs'
--ここは下記のようにCscriptを抜いても試しましたがだめでした。
--EXEC @result = exec master..xp_cmdshell 'c:\AddRow.vbs'

  IF (@result = 0)
  BEGIN
--xp_cmdshellの実行が成功したときのみこの処理に入る予定。
--実際は実行されていないようだが@result が0なのでこの処理を行っている。
    UPDATE table1 SET Status = 2
    WHERE Status = 1
  END
END

ストプロ内でxp_cmdshellを使用し、vbsファイルを実行したいのですが実行できません。
vbsファイルはxp_cmdShellでキックされたらSQLサーバのデータをSELECTし、テキストファイルにSELECTで取得した行数だけ行を追加するという内容です。
vbsファイルはコマンドプロンプトから実行すると動くので正しいと思います。

ストプロにはvbsファイル実行の前後にtableのupdate作業があり、
その2つは行われます。しかし、書き出されるはずのデータがテキストファイルに書き出されません。
vbsファイルは実行...続きを読む

Aベストアンサー

当たり前ですが、このvbsはSQL Serverのサービスが実行します。

つまりSQL Serverのサービスを動かしているプロセスがvbsを実行出来なければいけません。もちろん、書き込みを行なうテキストファイルに対する権限も必要です。

「SQL Server構成マネージャ」でサービスを動かしているユーザを確認してください。このユーザでvbsが実行できるようにしてください。

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています

QVBSに関する質問

VBSを使ってプログラムを作りたいのですが、
visual studioを使ったデバッグの方法について教えてください。

バージョンはvisual studio express 2013で最新バージョンです。
OSはwin8 64bitです。


・とりあえず、
http://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%A8%A5%C7%A5%A3%A5%BF%2FVWD2005%5D%5D
のページにあるように、
タイトル VBSスクリプトの実行(&R)
コマンド C:\WINDOWS\system32\wscript.exe
引数 $(ItemPath?)

を外部ツールに登録した上で

MsgBox "テスト"

と書かれた適当なvbsファイルをD&Dで読み込ませてみたのですが
コードの色分けが行われておらず全て同じ色になっています。
http://www.koutou-software.co.jp/junk/use-vs-project-with-vbscript.html

このページのようにdimなどを青色に表示するにはどうしたら良いですか?



・MsgBox "テスト"の左横にブレイクポイントの赤い丸を付けて
VBSスクリプトの実行をしたのですが、
特にプログラムを停止することなく実行されてしまうのですが
どうすれば指定した位置でプログラムを止めることができますか?


・あとEXEファイルとして出力したいのですが
ビルド機能が見つからないのですがどうすれば良いですか?


・http://www.koutou-software.co.jp/junk/use-vs-project-with-vbscript.html
このページには
Visual C++としてプロジェクトを作成し、いろいろな設定を行った後にするみたいな解説がありますが
この通りやっても、wscript.exeが見つからないというようなエラーが出て
実行することができませんでした。


少し質問が多いですが
よろしくお願いいたします。

VBSを使ってプログラムを作りたいのですが、
visual studioを使ったデバッグの方法について教えてください。

バージョンはvisual studio express 2013で最新バージョンです。
OSはwin8 64bitです。


・とりあえず、
http://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%A8%A5%C7%A5%A3%A5%BF%2FVWD2005%5D%5D
のページにあるように、
タイトル VBSスクリプトの実行(&R)
コマンド C:\WINDOWS\system32\wscript.exe
引数 $(ItemPath?)

を外部ツールに登録した上で

MsgBox "テスト"

と書かれた適...続きを読む

Aベストアンサー

推測による所などもあり明確な回答ではありませんが、一部について回答します。
便宜上、質問項目を上から順に番号付けて記載します。


(1)および(2)について。
Visual Studio Express 2013 には3種類のバージョンがありますが、(1)のリンク先に示される Web Developer に相当するのは「Express 2013 for Web」というバージョンです。
このバージョンを利用しているでしょうか?
# 当方はfor Webをインストールしていないので、それを使えばできるのかどうかははっきりとはわかりませんが。。


(3)について。
VBS (VBScript) を利用するのであればexeにはできません。
VBSはその名の通りスクリプトとして実行する目的のものですので、そもそもexeなどのバイナリを作らずに実行したい場合に使うものです。
exeにしたいのならば、たとえばVB.NETなどを利用を検討する必要があります。
(そして個人的には、VB.NETを使うぐらいならC#をおすすめしますが。VB.NETと基本的にプログラムの作り方は同じで、書きやすさが断然上だと思うので。あくまで個人的主観による。)


(4)について。
リンク先にも書かれていますが、その手順は製品版のVisual Studioを利用する場合のものかと思います。
製品版のVisual StudioはExpressのように種類が分かれていないため、C++のプロジェクトを流用してスクリプトデバッガを起動することなどが出来るのだと思います。

ちなみに、当方の手元では「Visual Studio Express 2013 for Windows Desktop」がインストールしてあるのですが、これにはスクリプトデバッガは含まれていないようです。
# コマンドラインから「wscript //x script.vbs」のようにしてもVS2013が選択肢に出てこないので、たぶん。
そのため、「for Windows Desktop」バージョンでメイクファイルプロジェクトを利用しても同じことをするのは不可能そうです。

推測による所などもあり明確な回答ではありませんが、一部について回答します。
便宜上、質問項目を上から順に番号付けて記載します。


(1)および(2)について。
Visual Studio Express 2013 には3種類のバージョンがありますが、(1)のリンク先に示される Web Developer に相当するのは「Express 2013 for Web」というバージョンです。
このバージョンを利用しているでしょうか?
# 当方はfor Webをインストールしていないので、それを使えばできるのかどうかははっきりとはわかりませんが。。


(3)について。
VB...続きを読む

QDim BMB As BindingManagerBase 定義エラー

VB.NET2003Standardを使用しています。
MySQLと接続してDataGridに表示させていますが
DataGrid上の選択された行の位置を調べたいのですが
Dim bmb As BindingManagerBase = DataGrid1.BindingContext(DataGrid1.DataSource, DataGrid1.DataMember)
Dim dr As DataRow = CType(bmb.Current, DataRowView).Row

とするとBindingManagerBaseが定義されていませんになってしまいます。

Aベストアンサー

お世話になります。

いつ、どのタイミングで選択された行の情報を取得したいのかが
わかりませんが、
ButtonField の Button を押下された時と仮定すると、
こういう感じで何が選択されたのか取得することができます。

■ASPX
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="vs2003_WebApplication1.WebForm1"%>
<HTML>
  <HEAD>
    <title>WebForm1</title>
  </HEAD>
  <body>
    <form id="Form1" method="post" runat="server">
      <asp:DataGrid id="DataGrid1" runat="server">
        <Columns>
          <asp:ButtonColumn Text="選択" ButtonType="PushButton" CommandName="Select"></asp:ButtonColumn>
        </Columns>
      </asp:DataGrid>
      <br>
      <asp:Label id="Label1" runat="server">Label</asp:Label>
    </form>
  </body>
</HTML>

■コードビハインド
Public Class WebForm1
  Inherits System.Web.UI.Page

#Region " Web フォーム デザイナで生成されたコード "
' 省略
#End Region

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If Not Me.IsPostBack Then
      Dim data As DataTable = New DataTable("TestTable")
      ' DataTable 生成処理
      With data
        .Columns.Add("Field1", GetType(String))
        .Columns.Add("Field2", GetType(String))
        .Columns.Add("Field3", GetType(String))
        .Rows.Add(New String() {"a", "b", "c"})
        .Rows.Add(New String() {"aa", "bb", "cc"})
        .Rows.Add(New String() {"aaa", "bbb", "ccc"})
      End With
      ' Bind
      Me.DataGrid1.DataSource = data
      Me.DataGrid1.DataBind()
    End If
  End Sub

  Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
    If e.CommandName = "Select" Then
      Dim field1Cell As TableCell = e.Item.Cells(1)
      Dim field2Cell As TableCell = e.Item.Cells(2)
      Dim field3Cell As TableCell = e.Item.Cells(3)
      Me.Label1.Text = "Field1:" & field1Cell.Text & "<br>" & _
      "Field2:" & field2Cell.Text & "<br>" & _
      "Field3:" & field3Cell.Text
    End If
  End Sub
End Class

お世話になります。

いつ、どのタイミングで選択された行の情報を取得したいのかが
わかりませんが、
ButtonField の Button を押下された時と仮定すると、
こういう感じで何が選択されたのか取得することができます。

■ASPX
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="vs2003_WebApplication1.WebForm1"%>
<HTML>
  <HEAD>
    <title>WebForm1</title>
  </HEAD>
  <body>
    <form id="Form1" method="post" runat="server">
...続きを読む


人気Q&Aランキング