C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: DataBindから詳細画面移行時のエラー


(過去ログ 30 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■14420 / inTopicNo.1)  DataBindから詳細画面移行時のエラー
  
□投稿者/ パジャマ (3回)-(2008/02/18(Mon) 10:57:05)

分類:[.NET 全般] 

いつも参考にさせて頂いております。

WEB作成で行き詰ってしまったので
アドバイス頂ければと思い投稿させて頂きました。

SQLServerのデータをDataBindで指定の項目を一覧で表示させ
DataBindの各レコードの端にリンクボタンをつけて
リンクボタンを押下したタイミングで下記、SQLを実行して詳細画面へと切り替えて
表示させるというWEBなのですが、実行すると「'契約番号'は現在のコンテキスト内に存在しません。」と表示されます。

VS2005でも波線が出てエラーになっています。

この契約番号をブロックするとエラーなく実行されるのですが、データは表示されず
Nullとなってしまいます。

SQLでしっかりカラムは書いてあるのですがこれとは関係なく何か追加記述が
必要なのでしょうか?


宜しくお願い致します。

//グリッドの選択行が変更されたタイミングで実行
void gtid_Changed(Object sender,EventArgs e)
{
//選択されたレコードを検索
string sqldatagrid= "SELECT 契約番号,契約者氏名,郵便番号,住所 FROM DataTable";

SqlConnection db = new SqlConnection("server=serverName;database=Web";uid=ID;pwd=PW");

SqlCommand comm = new SqlCommand(sqldatagrid,db);

db.open();

SqlDataReader reader_desc = comm.ExecuteReader();

//取得したDataReaderオブジェクトの内容をLabelコントロールに反映
if (reader_desc.Read())
{
if (reader_desc.IsDBNull(0))
{
契約番号.Text = "";
} else {
契約番号.Text = reader_desc.GetString(0);
}
if (reader_desc.IsDBNull(1))
{
契約者氏名.Text = "";
} else {
契約者氏名.Text = reader_desc.GetString(1);
}
if (reader_desc.IsDBNull(2))
{
郵便番号.Text = "";
} else {
郵便番号.Text = reader_desc.GetString(2);
}
if (reader_desc.IsDBNull(3))
{
住所.Text = "";
} else {
住所.Text = reader_desc.GetString(3);
}

〜省略
引用返信 編集キー/
■14421 / inTopicNo.2)  Re[1]: DataBindから詳細画面移行時のエラー
□投稿者/ はつね (457回)-(2008/02/18(Mon) 11:51:51)
はつね さんの Web サイト
No14420 (パジャマ さん) に返信
> リンクボタンを押下したタイミングで下記、SQLを実行して詳細画面へと切り替えて
> 表示させるというWEBなのですが、実行すると「'契約番号'は現在のコンテキスト内に存在しません。」と表示されます。
>
> VS2005でも波線が出てエラーになっています。
>
> この契約番号をブロックするとエラーなく実行されるのですが、データは表示されず
> Nullとなってしまいます。

VS2005ではどの行に波線がでていますか?
また、「この契約番号をブロックする」とは具体的にはどの行をコメントアウトなどしているのでしょうか。

aspxファイルに貼り付けている「契約番号」というIDのラベルのIDの部分をコピーしてきてコードの「契約番号.Text」の「契約番号」のところにペーストしてもダメでしょうか(そもそも、aspxファイルとコードファイルは同じファイルでしょうか)。
※見た目が似ているだけで別の文字コードであるということを想定しています。
引用返信 編集キー/
■14422 / inTopicNo.3)  Re[2]: DataBindから詳細画面移行時のエラー
□投稿者/ パジャマ (5回)-(2008/02/18(Mon) 12:56:47)
No14421 (はつね さん) に返信

はつねさま
どうもありがとうございます。

ご説明が足らずすみません。

> VS2005ではどの行に波線がでていますか?

契約番号.Text = "";
の「契約番号」に波線が出ております。

> また、「この契約番号をブロックする」とは具体的にはどの行をコメントアウトなどしているのでしょうか。

if (reader_desc.IsDBNull(0))
{
契約番号.Text = "";
} else {
契約番号.Text = reader_desc.GetString(0);
}

の部分をコメントアウトするとエラーなく表示されました。

> aspxファイルに貼り付けている「契約番号」というIDのラベルのIDの部分をコピーしてきてコードの「契約番号.Text」の「契約番号」のところにペーストしてもダメでしょうか

ダメでした。
そもそもインテリセンス機能の表示この契約番号だけがない状態です。

やはり通常では考えられないのでしょうか?

何度もすみませんがよろしくお願い致します。
引用返信 編集キー/
■14426 / inTopicNo.4)  Re[3]: DataBindから詳細画面移行時のエラー
□投稿者/ はつね (458回)-(2008/02/18(Mon) 14:32:40)
はつね さんの Web サイト
No14422 (パジャマ さん) に返信
>>VS2005ではどの行に波線がでていますか?
>
> 契約番号.Text = "";
> の「契約番号」に波線が出ております。

では、本当に試しなのですが、その「契約番号」コントロールの名前を「KeiyakuNO」などに変更して、コードの方も「KeiyakuNO.Text」のようにしてみてください。
もしくは、(これC#でしたっけ?)「this.」まで入力してインテリセンスで表示される下のほうに「契約番号」ってないですか?

# コントロールのID欄は「契約番号」ってなってますよね?


> そもそもインテリセンス機能の表示この契約番号だけがない状態です。
>
> やはり通常では考えられないのでしょうか?

インテリセンスでそれっぽい名前はでていませんか?
VS2005でC#を使って新規にWEBサイトを作成して確認してみましたが、「契約番号」というコントロール名で特に問題なく動作しました。
this.契約番号.Text = "ddddd";
のような感じでコード書きました。


引用返信 編集キー/
■14429 / inTopicNo.5)  Re[4]: DataBindから詳細画面移行時のエラー
□投稿者/ パジャマ (6回)-(2008/02/18(Mon) 15:18:46)
No14426 (はつね さん) に返信

はつねさま

 ありがとうございます。

> では、本当に試しなのですが、その「契約番号」コントロールの名前を「KeiyakuNO」などに変更して、コードの方も「KeiyakuNO.Text」のようにしてみてください。
> もしくは、(これC#でしたっけ?)「this.」まで入力してインテリセンスで表示される下のほうに「契約番号」ってないですか?

ありました!
しかし、thisを外すと見えなくなります。

どうしてかは分からないのですが・・・

なので全てthisをつけました。

もう1つも同じ現象でしたがそれはLabelが正規の名前(Label1でした・・・)
ではありませんでした。


表示できて助かりました!
本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -