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

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

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

Re[2]: ORACLE UPDATE文の書き方


(過去ログ 86 を表示中)

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

■51610 / inTopicNo.1)  ORACLE UPDATE文の書き方
  
□投稿者/ 裕猫 (144回)-(2010/07/12(Mon) 09:31:36)

分類:[データベース全般] 

WindowsXP VisualStudio2008C# Oracle10g ODAで接続しています。
読み込み削除作成はできるのですがUPDATEで 「ORA-01756 引用符付き文字列が正しく終了していません。」というエラーになってしまいます。
DBNテーブル名、KYNキー内容 MLO文字と数値の境目 TLO全カラム数
データは前半VARCHAR2後半 int型で作成しています。
        public static int DBU(string DBN, string KYN, int FG, int MLO, int TLO)
        {
            int X = 0;
            using (OracleConnection con = new OracleConnection())
            {
                con.ConnectionString = MKST.UID;
                try
                {
                    con.Open();
                }
                catch (Exception EX)
                {
                    MessageBox.Show("「" + EX.Message + "」でデータベースの接続に失敗しました。");
                    return X;
                }
                OracleCommand cmd = con.CreateCommand();
                //cmd.CommandText = "UPDATE " + DBN + " SET " + MKST.NEWST(DBN, FG, MLO, TLO) + " WHERE " + KYN;ーーーー@
                cmd.CommandText = "UPDATE " + DBN + " SET 生産中止 = '*' WHERE " + KYN;ーーーーーーーーーーーーーーーーーA
                //cmd.CommandText = "UPDATE " + DBN + " SET " + MKST.NEWST(DBN, FG, MLO, TLO) + " WHERE " + MKST.OLDST(DBN, FG, MLO, TLO);ーーB
                try
                {
                    X = cmd.ExecuteNonQuery();
                }
                catch (Exception EX)
                {
                    MessageBox.Show("「" + EX.Message + "」でデータの更新に失敗しました。");
                    return X;
                }
            }
            return X;
        }
というコードです。
MKST.NEWST(DBN, FG, STC, TTC) + " WHERE " + MKST.OLDST(DBN, FG, STC, TTC);は
品番 = '0028',登録日 = '20001010',生産開始 = '20010101',最終生産 = '20080901',ライン = 'U',生産中止 = '*',冶具番号 = 0,寸法縦 = 0,寸法横 = 0,寸法高 = 0,価額 = 0,残数 = 0,生産累計 = 0,材料費 = 0,部品費 = 0,加工費 = 0,管理費 = 0
という文字列
MKST.OLDST(DBN, FG, STC, TTC);は
品番 = '0028',登録日 = '20001010',生産開始 = '20010101',最終生産 = '20080901',ライン = 'U',生産中止 = '',冶具番号 = 0,寸法縦 = 0,寸法横 = 0,寸法高 = 0,価額 = 0,残数 = 0,生産累計 = 0,材料費 = 0,部品費 = 0,加工費 = 0,管理費 = 0
という文字列を作成します。文字と数値の区切りは間違っていません。Aのように変更項目(生産中止)だけを入れてみても同じでした。どのように変更文をつくればよいのでしょう?よろしくお願いいたします。

引用返信 編集キー/
■51611 / inTopicNo.2)  Re[1]: ORACLE UPDATE文の書き方
□投稿者/ マサヤ (66回)-(2010/07/12(Mon) 10:29:09)
CommandTextにSQLをハードコーディングしてうまくいくでしょうか?
引用返信 編集キー/
■51612 / inTopicNo.3)  Re[2]: ORACLE UPDATE文の書き方
□投稿者/ 裕猫 (145回)-(2010/07/12(Mon) 10:36:54)
No51611 (マサヤ さん) に返信
> CommandTextにSQLをハードコーディングしてうまくいくでしょうか?
うまくいってますよ。今のところわたしのところではですけど。でお騒がせしましたがただいま自己解決しました。もう1週間かかっていたので納期も迫りあせりました。結果KYEの文が呼び出し側で最後に”’”がついておりませんでした。こんなのに1週間週なやまされていたとはなさけないです。ではお騒がせしてすみませんでした。またよろしくお願いいたします。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -