0

我在运行我的代码时遇到问题,然后发生错误“在 SQL 语句结束后找到字符。”;

我的代码是:

代码

protected void btnSubmit_Click(object sender, EventArgs e)
{

    try
    {
        FileUpload img = (FileUpload)imgUpload;
        Byte[] imgByte = null;
        if (img.HasFile && img.PostedFile != null)
        {
            //To create a PostedFile
            HttpPostedFile File = imgUpload.PostedFile;
            //Create byte Array with file len
            imgByte = new Byte[File.ContentLength];
            //force the control to load data in array
            File.InputStream.Read(imgByte, 0, File.ContentLength);
        }

        string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/mssl2.accdb;Persist Security Info=False");


        OleDbConnection conn = new OleDbConnection(str);


        conn.Open();
        string sql = "INSERT INTO digital(Product_Name, Product_Code, Product_Price, Product_Image, Product_Description) VALUES(@pnm, @pcod, @ppr, @pimg, @pdes);" +" SELECT @@IDENTITY;";
        OleDbCommand cmd = new OleDbCommand(sql, conn);

        cmd.Parameters.AddWithValue("@pnm", txtEName.Text.Trim());
        cmd.Parameters.AddWithValue("@pcod", txt_productcode.Text.Trim());
        cmd.Parameters.AddWithValue("@ppr", txt_productprice.Text.Trim());
        cmd.Parameters.AddWithValue("@pdes", txt_productdescri.Text.Trim());
        cmd.Parameters.AddWithValue("@pimg", imgByte);
        int Id = Convert.ToInt32(cmd.ExecuteScalar());

        lblResult.Text = String.Format("Employee ID is {0}", Id);

        conn.Close();

    }

    catch
    {
        lblResult.Text = "There was an error";
    }
    finally
    {

    }
}

}

我不知道为什么?

请建议我。

“谢谢”

4

1 回答 1

0

您必须将 select identity 作为单独的查询运行。Access 一次只能运行一个语句。

于 2012-05-23T08:51:01.110 回答