Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-00936: missing expression

3631507Jan 21 2020

Following a guide in https://docs.microsoft.com/en-us/aspnet/web-pages/overview/data/5-working-with-data, I created a simple web form in C# (Razor) to insert the Title, Genre and Year into a Movies table like below

@{

    var title = "title";

    var genre = "genre";

    var year = "year";

    if (IsPost)

    {

        title = Request.Form["title"];

        genre = Request.Form["genre"];

        year = Request.Form["year"];

        var connString = string.Format("DATA SOURCE=ORCLPDB;PASSWORD=password;PERSIST SECURITY INFO=True;USER ID=userid");

        var providerName = "Oracle.ManagedDataAccess.Client";

        var db = Database.OpenConnectionString(connString, providerName);

        var insertQuery = "INSERT INTO Movies (title, genre, year) VALUES (@0, @1, @2)";

        db.Execute(insertQuery, title, genre, year);

        Response.Redirect("~/Movies");

    }

}

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8" />

    <title>Add a Movie</title>

</head>

<body>

    <h1>Add a Movie</h1>

    <form method="post">

        <fieldset>

            <legend>Movie Information</legend>

            <p>

                <label for="title">Title:</label>

                <input type="text" name="title" value="@Request.Form["title"]" />

            </p>

            <p>

                <label for="genre">Genre:</label>

                <input type="text" name="genre" value="@Request.Form["genre"]" />

            </p>

            <p>

                <label for="year">Year:</label>

                <input type="text" name="year" value="@Request.Form["year"]" />

            </p>

            <p><input type="submit" name="buttonSubmit" value="Add Movie" /></p>

        </fieldset>

    </form>

</body>

</html>

When executed, I keep getting the error Oracle.ManagedDataAccess.Client.OracleException: ORA-00936: missing expression which occurs at line 16

Line 14: var db = Database.OpenConnectionString(connString, providerName);

Line 15: var insertQuery = "INSERT INTO Movies (title, genre, year) VALUES (@0, @1, @2)";

Line 16: db.Execute(insertQuery, title, genre, year);
Line 17: Response.Redirect("~/Movies");

Line 18: }

The script syntax is nearly identical the guide except that oracle.manageddataaccess.client is used here. I tried to use the SQL statement directly like follows:

        var db = Database.OpenConnectionString(connString, providerName);

        db.Execute("INSERT INTO Movies (title, genre, year) VALUES (@title, @genre, @year)");

        Response.Redirect("~/Movies");

but the error remains.

I'll really appreciate it if someone can tell me what's causing the error.

Comments
Post Details
Added on Jan 21 2020
0 comments
2,065 views