• ベストアンサー

ASP C# データベースから1行取得

IDをキーにしてデータを1行セレクトし、各列の情報を個別のテキストボックスに表示したいのですが、どうすればいいかわかりません。。 SqlDataReader dr = cmd.ExecuteReader(); dr.????? こっからわかりません。。。

  • arnk
  • お礼率49% (32/65)

質問者が選んだベストアンサー

  • ベストアンサー
  • Struts
  • ベストアンサー率48% (29/60)
回答No.2

dr.GetValue(0) dr.GetValue(1) dr.GetValue(2) となります。

arnk
質問者

お礼

たびたび申し訳ありません。。 助かりました、ありがとうございます。

その他の回答 (1)

回答No.1

つい最近同じ質問を見ましたので。 http://okwave.jp/qa2731780.html

arnk
質問者

補足

セレクトする項目は1つではなくて、複数あります。 select * などとしたときです。 例えば ID、NAME、TEL・・・のようにです。

関連するQ&A

  • ASP C#

    単純にデータベースから取得した物をフォームのTEXT_BOXに表示させたいのですがやり方がわかりません。 グリッドビューに結果をそのままバインドするのはわかるのですが。。。 select 品名 from 商品テーブル where ID = 3 など、結果が必ず1件のものです SqlConnection cn = new SqlConnection(@"Server=*****;Database=*****;User ID=***; Password=***;"); SqlCommand cmd = new SqlCommand("select title from mst_table where id = 1", cn); cn.Open(); このあと text_box.text = 結果; としたいんです。。。

  • ASP.NET(VB.NET)でADO.NETを使ってAccessデータベースに接続する方法(長文)

    ASP.NETでADO.NETを使ってAccessデータベースに接続し、table2という名前のテーブルのidをテキストボックスに入力し、ボタンを押すとデータグリッドでそのidのデータが表示されるアプリケーションを作りました。が、自分で書いていても意味がわかりません。手元にあるのはASP.NETでSQLServerに接続する方法について解説してある書籍と、Accessに接続するもののWindowsアプリケーションからの接続(しかも表示させる物が違う)について解説してある書籍のみです。これらを組み合わせてなんとか表示させるまではできたのですが、全く意味がわかりません。どなたかご解説いただけないでしょうか? また、ASP.NET(VB.NET)でAccessデータベースと接続するアプリケーションについて触れてあるような書籍をご存知の方がいらっしゃいましたら、是非教えていただけないでしょうか?よろしくお願いいたします。 以下はボタンクリックされたときのイベントハンドラです。コードの先頭でImports System.Data.OleDbしてあります。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim dt As Integer Dim cn As New OleDbConnection("provider=microsoft.jet.oledb.4.0; Data Source=C:\nabe\採用\新人研修用\.NETコース\DB\kensyu2.mdb;") cn.Open() Dim cmd As New OleDbCommand("select * from table2 where id =?", cn) cmd.Parameters.Clear() cmd.Parameters.Add("param1", TextBox1.Text) dt = CType(cmd.ExecuteScalar(), Integer) Dim dr As OleDbDataReader = cmd.ExecuteReader() DataGrid1.DataSource = dr DataGrid1.DataBind() dr.Close() cn.Close() End Sub

  • SQLServer2008のDate型について

    SQLServer2008のDate型についてお聞きします Date型には日付のみセットされると思うのですが VB2010から接続表示すると時刻データまで表示されてしまいます テーブルデータの表示では「20120305」 VBでは「20120305 0:00:00」 となっております。 期待する動作はVBで「20120305」と表示されることです 接続はこの様にしております。 Dim cn As New SqlConnection(ConnectionString~) Dim cmd As New SqlCommand("SELECT * FROM Test1", cn) cn.Open() Dim dr As SqlDataReader = cmd.ExecuteReader While dr.Read() Trace.WriteLine(dr("Date").ToString) End While なぜ時刻までセットされてしまうのか理解できません。 ご指導よろしくお願い致します。

  • ストアドプロシージャの戻り値が取得できない

    ストアドプロシージャの戻り値が取得できない ストアドプロシージャ内でSelectとUpdateを行い、設定した戻り値をリターンしたいのです。 ついでにSelectとした複数行の結果の読み込みもしたいのですが。 Dim cmd As New System.Data.SqlClient.SqlCommand Dim i As Integer Dim readerA As System.Data.SqlClient.SqlDataReader cmd.CommandType = Data.CommandType.StoredProcedure cmd.CommandText = "SP名" cmd.Parameters.Add("A", System.Data.SqlDbType.Int) cmd.Parameters("A").Direction = System.Data.ParameterDirection.ReturnValue readerA = cmd.ExecuteReader() i = cmd.Parameters("A").Value if (i = 0) Then 処理 End If While readerA.Read() 処理 End While 上記でSelectした結果をreaderA("カラム名") で読みこめているのですが、戻り値Aの値が取得できていません。 ウォッチ式でcmd.Parameters("A").Valueを見るとNothingになっています。 ちなみに、違うストアドを実行しているところでは戻り値は取得できています。。。 ストアドがおかしいんでしょうか。Selectの取得結果も見ようとしているのがまずいのでしょうか。 環境はvb.net、SQLServer2005です。

  • ASP.NET

    VBで作成しています。 下記はSQLサーバーのデータベースを使ったプログラムですが、Microsoft Office Accessのデータベースを使う場合は、どのように変更すればいいでしょうか?教えて下さい。 お願いします。 <プログラム> Dim strSQL As String Dim sqlDa As SqlClient.SqlDataReader Dim dr As DataRow 'SQL文 strSQL = "SELECT * FROM Data1 Dim cmdSQL As New SqlClient.SqlCommand With cmdSQL .Connection = Action .CommandType = CommandType.Text .CommandText = strSQL End With Try Action.Open() sqlDa = cmdSQL.ExecuteReader (以下省略)

  • データリーダーからのデータ読み出し方法(VB)

    お世話になってます。 先日データコネクションを質問しその後うまくいっているように見えたのですが、表記でまた躓いています。 コードは Dim cn As New OleDb.OleDbConnection Dim cmd As New OleDb.OleDbCommand Dim dr As OleDb.OleDbDataReader 'コマンドのコネクション設定 cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DB\Report.mdb" 'コネクションを開く cn.Open() 'コマンドの定義 cmd.CommandText = "SELECT password FROM T_Staff WHERE Staff_ID = '" & txtUserID.Text & "'" 'データリーダーからのデータの読み出し dr = cmd.ExecuteReader() ************************************************** 最後の行で ExecuteReader: Connection プロパティは初期化されていません。 と言うエラーメッセージが出ます。 少し検索してみましたがよくわかりません。 これって結局接続できていないのでしょうか? 初期化されていなというのはどういう状態のことなんでしょう? よろしくお願いいたします。

  • ASP.NETのrepeaterかSqlDataReaderの問題

    ASP.NET 初心者です。 学校の宿題で、ASP.NET(VB)とMS SQLデータベースを使ってウエブサイトを作っています。 ホームページにサーチ機能をつけているところで、 SqlDataReaderとrepeaterを使って検索結果を表示したところ、表示されるはずの 行が1行だけ表示されません。 何か間違っているのでしょうか。 VB側はPage_Loadで、 cd2.CommandText = "SELECT partName, partID FROM .Part WHERE partName LIKE '%" + kw + "%')" cn.Open() dr = cd2.ExecuteReader() dr.Read() rpResults2.DataSource = dr rpResults2.DataBind() ウエブフォーム側は <asp:repeater id="rpResults2" runat="server"> <ItemTemplate> <TR><td><%# DataBinder.Eval(Container.DataItem, "partName") %></td></TR> </ItemTemplate> </asp:repeater> のような感じです。 Page_Loadで4つrepeaterを使っています。 よくわからずに使っているもので、説明が下手ですみません。 よろしくお願いいたします。

  • ストアドプロシージャの実行について

    asp.net から sqlserver のストアドプロシージャを実行させる勉強をしています。 作成されているはずのストアドプロシージャを実行できずに困っています。 webformにテキストボックス、ボタン、データグリッドを貼り付け、ストアドプロシージャを作成し下記のプログラムを実行させるのですが上手くいきません。 (テキストボックスに任意で入力された数値のデータをボタンを押すと表示するものです) <エラー内容>→ ストアド プロシージャ 'proc1' が見つかりませんでした Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cn As New SqlConnection Dim cmd As New SqlCommand cn.ConnectionString = "接続文字列" cmd.Connection = cn cmd.CommandText = "proc1" cmd.CommandType = System.Data.CommandType.StoredProcedure Dim p1 As SqlParameter = cmd.Parameters.Add("@param1", System.Data.SqlDbType.Int) p1.Value = TextBox1.Text cn.Open() Dim dr As SqlDataReader = cmd.ExecuteReader DataGrid2.DataSource = dr DataGrid2.DataBind() dr.Close() cn.Close() end sub ストアドproc1(場所:Northwind)の内容↓ CREATE procedure proc1 @param1 int as select * from products where categoryID=@param1 どなたか原因のわかる方がいれば、宜しくお願いします。

  • C#+ASP.NETでwebサイト

    C#+ASP.NETでwebサイト 以下のようなwebサイトを作っています。 (1)webブラウザでサイトに接続 (2)文字列をテキストボックスに入力 (3)その文字列をキーにして、データベースのあるテーブルを検索し、  ヒットした全件をブラウザに表示。  (列の数は合計で6列あります。行は1000行程度の見込みです。) (4)操作対象の行を選択し、その行の2列目のみをテキストファイルに出力、その行をDBから削除。 時間がなく、また知識、経験不足のため困っています。 サンプルソースや、ヒントだけでも良いので教えて下さい。

  • SQLとC#connectについて

    独学で勉強しているのですがさっぱり分かりません...。 C# visual studio へ SQL server情報を読み込みたいのですが...Button1を押したら、sql に作成してある(ingredientという) データをrichtextbox へ送りたいです。 今のところ、SQLにcommandを送り、開き、リーダーで呼びました。 SqlConnection sc = new SqlConnection(@"........."); SqlCommand cmd; cmd = new SqlCommand ("Select * from ingredients", sc); sc.Open(); SqlDataReader reader = cmd.ExecuteReader(); その後作っておいたクラスでリストを作りストアしました。ingredientにはidとnameだけです。 List<Ingredient> ingredients = new List<Ingredient>(); while (reader.Read()) {  string testID = reader["id"].ToString(); string ingName = reader["name"].ToString(); Ingredient oneIng = new Ingredient(Convert.ToInt32(testID), ingName); ingredients.Add(oneIng);} 今リストの中に情報が入っているということは分ります。でも、これをrichtextboxにどう整理して入れるのかは分りません。教えて下さい!!!