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

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

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

Re[2]: ASP.NETにて更新処理中のエラー


(過去ログ 20 を表示中)

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

■8502 / inTopicNo.1)  ASP.NETにて更新処理中のエラー
  
□投稿者/ .NET初心者 (8回)-(2007/10/01(Mon) 17:12:34)

分類:[ASP.NET (VB)] 

お世話になります。
以前、質問させていただいたものです。
またもやエラーが発生し、MSDN等検索してみたのですが、
いまひとつ解らないため皆様のお知恵を賜りたいと思います。

以下に環境・状況・ソースを載せますでよろしくお願いします。


環境:VWD2005EXPRESS
   SQLServer2005EXPRESS

エラーメッセージ:
オブジェクトの型 System.Web.UI.WebControls.TextBox から既知のマネージ プロバイダのネイティブ型へのマップがありません。 

動作状況:
フォームビューにて編集作業を行い、
DBに反映させるために更新ボタンをクリックしたところで発生しました。


Protected Sub FormView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView1.ItemUpdating
	'更新情報を取得する
        e.NewValues("UPDDATE") = Format(Now, "yyyyMMdd")
        e.NewValues("UPDTIME") = Format(Now, "HHmmss")
        e.NewValues("UPDPGM") = "Mnt_Mgnb_U"
        e.NewValues("UPDSYCD") = ""
        e.NewValues("GNBKJ") = DirectCast(FormView1.FindControl("MGGNBKJTextBox"), TextBox)
        e.NewValues("GNBKN") = DirectCast(FormView1.FindControl("MGGNBKNTextBox"), TextBox)
        e.NewValues("GNBRK") = DirectCast(FormView1.FindControl("MGGNBRKTextBox"), TextBox)
        e.NewValues("MNGSY") = DirectCast(FormView1.FindControl("MGMNGSYTextBox"), TextBox)
        e.NewValues("GNBCLR") = DirectCast(FormView1.FindControl("MGGNBCLRTextBox"), TextBox)
        e.NewValues("GNBSRT") = DirectCast(FormView1.FindControl("MGGNBSRTTextBox"), TextBox)
 End Sub


        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConString %>"
            UpdateCommand="UPDATE M_GENBA SET UPDDATE = @UPDDATE, UPDTIME = @UPDTIME, UPDPGM = @UPDPGM, UPDSYCD = @UPDSYCD, MGGNBKJ = @GNBKJ, MGGNBKN = @GNBKN, MGGNBRK = @GNBRK, MGMNGSY = @MNGSY, MGGNBCLR = @GNBCLR, MGGNBSRT = @GNBSRT WHERE (M_GENBA.MGOFFCD = @MGOFFCD) AND (M_GENBA.MGGNBCD = @MGGNBCD)">
            <UpdateParameters>
                <asp:Parameter Name="UPDDATE" />
                <asp:Parameter Name="UPDTIME" />
                <asp:Parameter Name="UPDPGM" />
                <asp:Parameter Name="UPDSYCD" />
                <asp:Parameter Name="GNBKJ" />
                <asp:Parameter Name="GNBKN" />
                <asp:Parameter Name="GNBRK" />
                <asp:Parameter Name="MNGSY" />
                <asp:Parameter Name="GNBCLR" />
                <asp:Parameter Name="GNBSRT" />
                <asp:Parameter Name="MGOFFCD" />
                <asp:Parameter Name="MGGNBCD" />
                <asp:SessionParameter Name="MGOFFCD" SessionField="loginoffcd" />
                <asp:SessionParameter Name="MGGNBCD" SessionField="selgenbacd" />
            </UpdateParameters>
        </asp:SqlDataSource>

引用返信 編集キー/
■8505 / inTopicNo.2)  Re[1]: ASP.NETにて更新処理中のエラー
□投稿者/ いしだ (44回)-(2007/10/01(Mon) 17:56:51)
TextBoxを設定してるエラーじゃないでしょうか。
TextBox.Textを設定しないといけないのでは?
引用返信 編集キー/
■8506 / inTopicNo.3)  Re[2]: ASP.NETにて更新処理中のエラー
□投稿者/ .NET初心者 (9回)-(2007/10/01(Mon) 18:57:51)
No8505 (いしだ さん) に返信
> TextBoxを設定してるエラーじゃないでしょうか。
> TextBox.Textを設定しないといけないのでは?

ありがとうございます。
アドバイスをヒントに

    Protected Sub FormView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView1.ItemUpdating
        '入力チェックを行う
        Dim gnbcd As TextBox = DirectCast(FormView1.FindControl("MGGNBCDTextBox"), TextBox)

(略)

        e.NewValues("GNBKJ") = gnbkj.Text
(略)
End Sub

としたところ更新処理ができるようになりました。

めんどくさがらずに直接放り込まずに変数指定しろってことですねorz

お騒がせしました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -