繁体   English   中英

ORA-01722:编号#2无效

[英]ORA-01722: invalid number #2

我之前遇到的错误是我无法将NULL值插入resources_id中,因此我将resources_id添加到insert值中来避免此问题,但是当我这样做时会遇到此错误:

ORA-01722:C#无效

第56行: cmd.ExecuteNonQuery();

为了避免这个问题,我之前做过的事情是我not Null删除not Null并将表中的所有内容都保留为null并可以正常工作,但是这给我带来了其他麻烦,但我发现很难解决,所以我决定回到主要问题,并向其中添加NOT NULL 。我数据库中的resources_id。 请帮助解决此问题。

我遇到的另一个问题是无法识别参数中的resources_id

我的密码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OracleClient;
using System.Configuration;
using System.IO;



public partial class Lecturer_upload_resources : System.Web.UI.Page
{
    string strCon = "Data Source=****;Persist Security Info=True;User ID=****;Password=****;Unicode=false";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGridviewData();
        }
    }
    // Bind Gridview Data
    private void BindGridviewData()
    {
        using (OracleConnection con = new OracleConnection(strCon))
        {
            using (OracleCommand cmd = new OracleCommand())
            {
                cmd.CommandText = "select * from resource1";
                cmd.Connection = con;
                con.Open();
                gvDetails.DataSource = cmd.ExecuteReader();
                gvDetails.DataBind();
                con.Close();
            }
        }
    }
    // Save files to Folder and files path in database
    protected void btnUpload_Click(object sender, EventArgs e)
    {
          string filename = Path.GetFileName(fileUpload1.PostedFile.FileName);
        Stream str = fileUpload1.PostedFile.InputStream;
        BinaryReader br = new BinaryReader(str);
        Byte[] size = br.ReadBytes((int)str.Length);
        using (OracleConnection con = new OracleConnection(strCon))
        {
            using (OracleCommand cmd = new OracleCommand())
            {
                cmd.CommandText = "insert into resource1(Resources_id,FileName,fileType,Filedata) values(:Resources_id,:FileName,:FileType,:FileData)";
                cmd.Parameters.AddWithValue(":Resources_id",Resources_id);
                cmd.Parameters.AddWithValue(":FileName", filename);
                cmd.Parameters.AddWithValue(":FileType", "application/word");
                cmd.Parameters.AddWithValue(":FileData", size);
                cmd.Connection = con;
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
                BindGridviewData();
            }
        }
    }

尝试使用这个

cmd.BindByName = true;

在插入块中或尝试删除":"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM