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