• 締切済み

データベース内の値をweb内でテキスト表示させるには??

データベース内の値をweb内でテキスト表示させるには?? データベース内の値をweb内でテキスト表示させるには?? 現在、フォーム認証(ID入力後、表示ボタンをクリック)の後に入力したIDとデータベースを連携させデータベース内の該当する値をlabelに表示させようとしています。 開発環境は ・言語:C# ・VisualStudio2008Pro ・SQLSever2005EXPRESS ソースは以下のようになっています。 <%@ Page ContentType="text/html" Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <script runat="Server"> void objBtn_Click(Object sender, EventArgs e) { // 入力されたユーザーIDでtestテーブル内のレコードを検索 SqlConnection objDb=new SqlConnection("Data Source=(local);User ID=xxx;Password=xxx;Persist Security Info=True;Initial Catalog=master"); SqlCommand objCom = new SqlCommand("SELECT 所持数 FROM test WHERE 本人ID=@本人ID", objDb); objCom.Parameters.Add("@本人ID", txtUsr.Text); objDb.Open(); SqlDataReader objDr=objCom.ExecuteReader(); if(objDr.Read()){ // 検索の結果、該当するレコードが存在した場合、認証は成功 FormsAuthentication.RedirectFromLoginPage(txtUsr.Text,false);    ※このあとを色々と試したのですが駄目でしたorz objLbl.Text=objCom; }else{ objLbl.Text="正しいユーザーIDを入力してください"; } objDb.Close(); } </script> <html> <head> <title>所持数表示</title> </head> <body> <form id="Form1" runat="Server"> <center> <h1>所持数表示</h1> <hr /> <b>ユーザーID:</b> <asp:TextBox id="txtUsr" runat="Server" Columns="12" /><br /> <br /> <asp:Button id="objBtn" runat="Server" Text="表示" OnClick="objBtn_Click" /><br /> <asp:Label id="objLbl" runat="Server" ForeColor="Red" /> </center> </form> </body> </html> if文の後にテキスト表示の記述をしなければならないと思うのですが方法がわかりません。 フォーム認証後に該当の値を表示させる方法がわかれば一番いいのですが、単にデータベースの中の値をテキスト表示する方法だけでも大変助かります!! 初心者で手詰まりの状態でものすごく困っていますorz わかる方がいらっしゃったら教えて下さい!よろしくお願いしますm(_ _)m

みんなの回答

回答No.1

if(objDr.Read()){ // 検索の結果、該当するレコードが存在した場合、認証は成功 FormsAuthentication.RedirectFromLoginPage(txtUsr.Text,false);    ※このあとを色々と試したのですが駄目でしたorz //objLbl.Text=objCom; //下記のソースを参照する: objLbl.Text = objDr.GetInt32(0).ToString(); // または objLbl.Text = ((int)objDr["所持数"]).ToString(); }else{ objLbl.Text="正しいユーザーIDを入力してください"; }

AC_toga
質問者

補足

yamamoto007さん回答ありがとうございます!! 早速試させてもらいました! しかしながらテーブル内の値を表示することができませんでしたorz 詳しく状況を説明するとテキストボックスにIDを入力(テーブルに存在するID)して表示ボタンを クリックするとテキストボックスが空になり元の状態に戻ります。 テーブルに存在しないIDを入力したときはエラーメッセージが発生しているので一応はデータベースに 接続できていると思われるのですが実際はよくわかりません(-д-;) もしかしたらif文の後のフォーム認証のクラスが邪魔をしているのでしょうか??

関連するQ&A

  • ASP.NET WEBアプリケーションで作成されたページより他の既存ペ

    ASP.NET WEBアプリケーションで作成されたページより他の既存ページへデータを投げたいと考えているのですがセキュリティ上難しいのでは?と考えています。しかし、なんとか代替案がないかと思っておりどなたかヒントをいただけないでしょうか? <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox3" runat="server" Height="72px" TextMode="MultiLine" Width="651px"></asp:TextBox> <br /> <asp:Button ID="Button1" runat="server" Text="Button" />&nbsp;&nbsp; <asp:Button ID="Button2" runat="server" Text="Button" /> <br /> <br /> <asp:Label ID="Label1" runat="server"></asp:Label> 例えばこんな簡単なaspxのページで構成されているとします。 テキストボックスに入れた値を既存のWEBページ(Yahooへのログインだとか)へ入れ込みたいのですが・・・クライアントにスクリプトで作ってとかなら余裕で出来ると思うのですがサーバサイドで仕込むことは難しいでしょうか?回避策とかもあるとなおうれしいのですが・・・よろしくお願いします。

  • 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 = 結果; としたいんです。。。

  • EmptyDataTemplateを再表示

    EmptyDataTemplateのラベル値を画面のLinkButtonのクリック時に変更したいと思っています。 LinkButtonのクリック時に以下の通り記述することで、値はセットされているのですが、 画面上で再表示されません。 UpdatePanelでトリガーも設定しているのですが、どうすればよいでしょうか? <サーバー側> Protected Sub btnON_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnON.Click If grdList.Rows.Count = 0 Then CType(grdList.Controls(0).Controls(0).FindControl("emptyName"), Label).Text = "説明A" End If End Sub <クライアント側> <asp:LinkButton ID="btnON" runat="server"><asp:Label ID="lblON" Text="ボタン1" runat="server" /></asp:LinkButton> <div id="Data" runat="server"> <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:GridView ID="grdList" runat="server" ~省略~ > <%-- データがない場合 --%> <EmptyDataTemplate> <table > <tr> <th><asp:Label ID="emptyNo" Text="NO" runat="server" /></th> <th><asp:Label ID="emptyName" Text="説明○" runat="server" /></th>   ☆ここの値 </tr> </table> </EmptyDataTemplate> <Columns> ~データ表示省略~ </Columns> </asp:GridView> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnON" EventName="Click" /> </Triggers> </asp:UpdatePanel> </div>

  • ASP.NETで質問です。

    ASP.NETで質問です。 <asp:Repeater ID="rp" runat="server" OnItemDataBound="rp_OnItemDataBound"> <ItemTemplate> <asp:Literal ID="ltr_num" runat="server" /> <asp:Literal ID="ltr_name" runat="server" /> <br /> </ItemTemplate> </asp:Repeater> rp_OnItemDataBoundメソッドでltr_num,ltr_nameに値を入れたいのですが、 ltr_num.Text,ltr_name.Textにアクセスできません。 どなたか教えてください。 お願い致します。

  • テキストボックスにカーソルを固定

    いつもお世話になっています。VB.NETで開発をしているのですが、行き詰まっています。知識をお借りできれば幸いです。(説明が分かり辛く申し訳ありません。) (1) テキストボックスにバーコードを入力し、読込む。 (2) ポストバックがかかった後もそのテキストボックスにカーソルを固定させておくことで、バーコードの連続入力を行いたい。現状は、ポストバック後カーソルがなくなる(クリックし再設定が必要)。 (3) WebFormにテキストボックスを直接作成しているのではなく、ユーザーコントロールのテキストボックスにカーソルを戻したい。 (4) 以下、試みました。aspxのhtmlです。ユーザーコントロールのテキストボックスのInputNameはucA.BarCodeとします。 <HTML>  <HEAD>    ・・・    <script language="javascript">      function SetForcus() {                   ucA.BarCode.focus();                  }    </script>   </HEAD>   <body onload="javascript:SetForcus()" onmousedown="ClickCheck()">   <form id="Form1" method="post" runat="server"> ・・・     <asp:Panel id="pnl" runat="server">  <uc1:A id="ucA" runat="server"></uc1:A>      </asp:Panel>                ・・・   </form>  </body> </HTML>

  • <ASP>にTextBoxの値を設定する方法

    TextBoxに記述されたDB接続文字列を<ASP>内で設定しようと試みておりますが、失敗します。どのように記述を改めればよろしいでしょうか? ----------------- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebForm1" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = Application["DB_CON_STRING"].ToString(); } </script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <div> </div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="DATETIME" HeaderText="DATETIME" SortExpression="DATETIME" /> <asp:BoundField DataField="MESSAGE" HeaderText="MESSAGE" SortExpression="MESSAGE" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="form1.TextBox1.Text"★ここがうまくいかない★ SelectCommand="SELECT * FROM TEST ORDER BY ID DESC"></asp:SqlDataSource> </form> </body> </html>

  • SqlDataSource1のドロップダウンリストにページロード時に値

    SqlDataSource1のドロップダウンリストにページロード時に値をいれたいのですが どのようにしたらいいのでしょうか? SqlDataSource にDropDownList1と同じ内容のデータベース 1 りんご 2 みかん 3 ぶどう でページロード時3を指定しているようにしたいのですが 下記ではDropDownList1はできるのですがSqlDataSourceを使っているDropDownList2 では 項目一覧に存在しないため、'DropDownList2' に SelectedValue を指定することは無効です。 パラメータ名: value というエラーがになってしまいます。 どうしたらできるでしょうか? <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) DropDownList1.Text = "3" DropDownList2.Text = "3" End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem>りんご</asp:ListItem> <asp:ListItem>みかん</asp:ListItem> <asp:ListItem>ぶどう</asp:ListItem> </asp:DropDownList> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource1" DataTextField="MyLike" DataValueField="NO"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>" SelectCommand="SELECT [NO], [MyLike] FROM [MyLike]"></asp:SqlDataSource> </div> </form> </body> </html>

  • テキストフィールドへの値の表示

    JavaScript初心者です。現在、言語習得のためのドリルをおこなっておりますが、2つのテキストフィールド間での値の受け渡しがうまくいきません。具体的には、上下2つのテキストフィールドがあり、上のフィールド(摂氏)に数値を入れボタンを押したタイミングで、その値を華氏に変換して下のフィールドに結果の値が表示される、またその逆もあり、というプログラムを作成したいのです。 テキストフィールドのvalueに値を格納すればよいのかと思い、いろいろな箇所で値を格納してみたのですが、うまく動きません。アドバイスをよろしくお願いいたします。 <html> <head> <script type="text/javascript"> var cel; var fah; function cel_to_fah( ) { cel=document.getElementById("c").value; fah=(9 * cel / 5) + 32 //document.write(fah); document.input_fah.c.value=fah; //return fah; } function fah_to_cel(){ fah= document.getElementById("f").value; cel= 5 * (fah - 32) / 9; //document.write(cel); document.input_cel.f.value=cel; //return cel; } </script> </head> <body> <form id="input_fah" action="./hw06-3.html" > Celsius: <input type="text" id="c" size="20" > <input type="button" onclick="cel_to_fah()" value="To Fahrenheit"/><br/><br/> </form> /* <script language="JavaScript"> document.input_fah.c.value=cel_to_fah(); </script> */ <form id="input_cel" action="./hw06-3.html" > Fahrenheir: <input type="text" id="f" size="20"> <input type="button" onclick="fah_to_cel()" value="To Celsius" /><br/><br/> </form> /* <script language="JavaScript"> document.input_cel.f.value=fah_to_cel( ) </script> */ </body> </html>

  • DBから抜き出した値を表示する方法

    FORMで入力された値をもとにデータベースから値を拾ってきて それを画面に表示させる、という処理をしたいと思っています。 具体的には、usersという「名前」と「ID」が格納されたテーブルがあり、 名前を入力するとその名前に紐付いたIDを表示させるというものです。 usersテーブルには、 id | name --------- 1 | abc 2 | def 3 | ghi というようなデータが入っています。 下記のように書いているのですが、 IDを拾ってきてくれません。 何を入力しても「あなたのIDはです」 と表示されます。 FORMで入力した値が"abc"なら 「あなたのIDは1です」と表示したいです。 echo $user_name; を実行すると入力した名前が出てくるので データベースから抜き出す処理がうまくいっていないと考えてます。 つたない文章になってしまい、 申し訳ありませんが、 お助けいただければと思います。 よろしくお願いいたします。 ------- <?php if ($_SERVER['REQUEST_METHOD']=="POST") { foreach($_POST as $k => $v) { if(get_magic_quotes_gpc()) { $v=stripslashes($v); } $v=htmlspecialchars($v); $array[$k]=$v; } extract($array); $con = mysql_connect('localhost', '【ユーザー名】', '【パスワード】'); if (!$con) { exit('DBに接続できませんでした。'); } $result = mysql_select_db('【データベース名】', $con); if (!$result) { exit('データベースを選択できませんでした。'); } $db = mysql_query('SELECT * FROM users where name='.$user_name, $con); $db = mysql_fetch_array($db); $message="あなたのIDは".$db['id']."です"; echo $message; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>テスト</title> </head> <body> <form action="<?= $_SERVER['PHP_SCRIPT']; ?>" method="post" accept-charset="UTF-8"> <b>名前:</b><br> <input type="text" name="user_name" value="" /> <br><br> <input type="submit" value="ID確認" />&nbsp;&nbsp;<INPUT type="reset" name="reset" value="リセット"> </form> </body> -------

    • ベストアンサー
    • PHP
  • データベースから情報の取得・更新・削除 SQL2005 C# 2

    おはようございます。カネゴです。 表記の件で再度質問させていただきいます。 まずは情報取得。 これは、検索・抽出といったほうがいいのでしょうか。ID PASSを テキストボックスに入力し検索ボタンを押下すると、データベースから 検索結果に、マッチしたレコードがデータグリッドに表示されると いうものです。 sqlconnection sqlcomand. などを使用し sqldataadaptedのfill メソッドで表示させればいいのでしょが、なかなかうまくいきません… 更新削除も同様に、ado.netで行いたいのですが、なかなかうまくいきません。 「検索」btn押下後のイベントです。 SqlConnection cn = new SqlConnection(@" server = ***\SQL2005 ; " + " database = user_master ; " + " uid = sa ; " + " pwd = *** ; "); cn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM user_master where UserID=textBox1.Text and Password=textBox2.Tet ", cn); SqlDataAdapter da = new SqlDataAdapter (); da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, "user_master"); cn.Close(); たぶん、select文のなかが違うと思います。 マルチパート識別子 "textBox1.Text" をバインドできませんでした。 マルチパート識別子 "textBox2.Text" をバインドできませんでした。 とエラーがでます。 素人なので、つぎはぎして作ったので、文法的なものがめちゃくちゃかもしれませんが 以上宜しくお願いします。