| 分類:[データベース全般]
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のように変更項目(生産中止)だけを入れてみても同じでした。どのように変更文をつくればよいのでしょう?よろしくお願いいたします。 |