-1
SQLステートメントを更新して(レコードが既に存在する場合)、またはOleDBommandを介してアクセスデータベースにデータレコードを挿入できるようにしようとしています。アクセスデータベースの1つのステートメントに挿入または更新
SQL文:
string sql = "IF EXISTS (SELECT * FROM tblMitarbeiter_Arbeitsform WHERE (fkLogin = '" + _Login.ToUpper() + "') AND (fkIdArbeitsform = " + dr.fkIdArbeitsform + "))";
sql += " UPDATE tblMitarbeiter_Arbeitsform SET (Prozent = " + dr.Prozent + ")";
sql += " WHERE (fkLogin = '" + _Login.ToUpper() + "') AND (fkIdArbeitsform = " + dr.fkIdArbeitsform + ")";
sql += " ELSE INSERT INTO tblMitarbeiter_Arbeitsform (fkLogin, fkIdArbeitsform, Prozent) VALUES ('" + _Login.ToUpper() + "', " + dr.fkIdArbeitsform + ", " + dr.Prozent + ")";
oCmd = new OleDbCommand(sql, getOekobonusConnection());
oCmd.ExecuteScalar();
//oCmd.ExecuteNonQuery();
は、ExecuteScalarとのExecuteNonQuery両方が機能していません。私は間違って何をしていますか?
「動作していません」 - 具体的には? –
ExecuteNonQueryを使用して実行すると、どのようなエラーメッセージが表示されますか?ミッチは言ったように、あなたは再生するためにもっと多くの情報を提供すべきです。 – AnarchistGeek
生成されたSQLをAccessで直接実行すると機能しますか? – stuartd