首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-01722:无效号码#2

ORA-01722:无效号码#2
EN

Stack Overflow用户
提问于 2014-03-10 21:29:39
回答 1查看 1.7K关注 0票数 1

我之前遇到的错误是不能将空值插入到resources_id中,所以我将resources_id添加到insert值中以避免这个问题,但是当我这样做时,我得到了这个错误:

ORA-01722:无效号码C#

第56行:cmd.ExecuteNonQuery();

为了避免这个问题,我以前做过的WHat是我删除了not Null,并在我的表中保留了所有的空值,它可以工作,但是它给我带来了其他我觉得很难解决的问题,所以我决定回到主要问题上,并在数据库中的resources_id中添加了NOT NULL。请帮助解决这个问题。

我的另一个问题是参数中的resources_id没有被识别。

我的代码:

代码语言:javascript
复制
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();
            }
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2014-03-10 22:00:43

试着用这个

代码语言:javascript
复制
cmd.BindByName = true;

在insert块中或尝试删除":"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22311719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档