- - PR -
updateについて・・・
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-10 16:05
Visual Studio.NETを使用し勉強しながらシステムを開発中です。
簡単に今作っているシステムの説明をしますと、職員情報の検索及び更新システムのようなものを作成しています。職員番号や名前等で職員を検索し、選択された職員の情報を修正入力しデータを更新するといった感じです。 職員の検索、表示、修正入力まではなんとか完成する事ができました。更新についても修正入力し更新ボタンを押すと、見た目はうまくいっているように動作しますが、データについては更新されていませんでした。 更新についてはストアドを使っているのですが、データを色々と確認してみるとストアドでは、 @@番号検索 int = '7422' と指定しているので、7422のデータが常に更新されているようです。 ので、 @@番号検索 int と番号部分を取ると、 「プロシジャー'sp_職員情報更新'にはパラメータ'@@番号検索'を指定してください」とエラーが出てしまします。 この説明ではいまいちわかりにくいかもしれませんが・・・・ よろしくお願いします | ||||||||
|
投稿日時: 2005-02-10 16:15
今日は。
メッセージを見ると相手側のDBはSQL Serverですよね? んで、ストアドプロシージャがどの様に書かれているか解りませんが、
どういった理由でこうしているのか? 代入の方法をどうするのか? を調べないと先に進まないと思いますがどうでしょうか? | ||||||||
|
投稿日時: 2005-02-10 16:18
こんにちは。
>@@番号検索 int = '7422' 前後が書いてないので推測ですが、これはストアドの引数宣言のところですね? そしてデフォルト値が設定されていたのに、デフォルト値を取ったところエラーになったってことですね。 たぶん、ストアドを呼び出しているところで、@@番号検索に代入すべき値を指定していないのでしょう。デフォルト値が付いていたときは、指定しなくても’7422’の値で更新してくれてますが、デフォルト値が無くなったので必ず指定しなければいけなくなったのだと思います。 SqlCommand(OldDbComand)のParametersプロパティに適切なパラメータを指定してやりましょう。(SqlCommand使ってるのも推測です。) | ||||||||
|
投稿日時: 2005-02-10 16:29
早速の回答をありがとうございます。
noderaさんのおっしゃる通りだと思います。 デフォルト値がなくなってエラーが出てるんですね。 ストアドへのパラメータの指定ですが、今は Private Sub Button_Ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Ok.Click SqlDataAdapte1.SelectCommand.Parameters("@@番号検索").Value() = Session("inputcode") SqlDataAdapter1.Fill(Data1) Data1.Tables("sp_職員情報抽出").Rows(0)("銀行コード") = Text_bank.Text Data1.Tables("sp_職員情報抽出").Rows(0)("店番号") = Text_siten.Text Data1.Tables("sp_職員情報抽出").Rows(0)("預金種目") = Text_syu.Text Data1.Tables("sp_職員情報抽出").Rows(0)("口座番号") = Text_koza.Text SqlDataAdapter1.Update(Data1) End Sub のように指定しています。 selectとupdateを共用しているような感じになっています | ||||||||
|
投稿日時: 2005-02-10 21:23
んで、解決? ・@は2ついるの?私、OracleメインなのでSQL Serverはよくわからないけど ・SelectCommandのパラメータは、ちゃんとあるの? まぁ、なければnull参照になって、そういうエラーになるはずだけど ・Value() = Session("")? Valueの後の括弧はいらないのでは? ・データがなかったときの判定はいらない? _________________ | ||||||||
|
投稿日時: 2005-02-14 15:06
やっぱりうまくいきません。
パラメータの受け渡しがうまくないんでしょうね! selectとupdateの共用がいけないんでしょうか? | ||||||||
|
投稿日時: 2005-02-14 15:17
msoです。
わかる範囲だけなのですが、 @二つはシステムが使っているので使用できなかったと思います。 #まちがっていたらごめんなさい。&突っ込みお願いします。 | ||||||||
|
投稿日時: 2005-02-14 16:28
'@@'が二つあるのはストアドの変数の定義で問題はなさそうです。
抽出の時は正常に動作しているので・・・ |
1|2|3
次のページへ»