不知道错在哪里?请高手帮帮忙!谢了!
数据库表结构:
create table TblRPTFILE
(RPTFILENO number not null,
RPTSHOWNAME varchar2(100) not null,
RPTFILENAME varchar2(50) not null,
RPTFILEBEGINYEAR date not null,
RPTFILEENDYEAR date not null,
constraint TblRPTFILE_PK primary key (rptfileno));代码:
string sqlStr = "insert into tblRPTFILE values(RPTFILESeq.nextval,:RPTShowName,:RPTFileName,:StartDate,:EndDate)";
OracleCommand cmd = DB.GetCommand(sqlStr);
cmd.Parameters.Add(":RPTShowName",OracleType.VarChar,100).Value=this.reportName;
cmd.Parameters.Add(":RPTFileName",OracleType.VarChar,50).Value=this.filePath;
cmd.Parameters.Add(":StartDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.startDate.ToString());
cmd.Parameters.Add(":EndDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.endDate.ToString());
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery(); //到这就出错了
cmd.Connection.Close();
}
数据库表结构:
create table TblRPTFILE
(RPTFILENO number not null,
RPTSHOWNAME varchar2(100) not null,
RPTFILENAME varchar2(50) not null,
RPTFILEBEGINYEAR date not null,
RPTFILEENDYEAR date not null,
constraint TblRPTFILE_PK primary key (rptfileno));代码:
string sqlStr = "insert into tblRPTFILE values(RPTFILESeq.nextval,:RPTShowName,:RPTFileName,:StartDate,:EndDate)";
OracleCommand cmd = DB.GetCommand(sqlStr);
cmd.Parameters.Add(":RPTShowName",OracleType.VarChar,100).Value=this.reportName;
cmd.Parameters.Add(":RPTFileName",OracleType.VarChar,50).Value=this.filePath;
cmd.Parameters.Add(":StartDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.startDate.ToString());
cmd.Parameters.Add(":EndDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.endDate.ToString());
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery(); //到这就出错了
cmd.Connection.Close();
}
解决方案 »
- 谁给我个JS的API帮助文件的下载链接,
- sql 高手来看一下
- asp.net2.0跟asp.net有什么区别没有
- 对数据提交和提取并发造成的死锁问题....一直让我寝室难安.
- 非级联超难下拉菜单!
- 在GridView中,关于格式的问题
- 如何推广自己的论坛呢?欢迎讨论
- 一段字符串只能包含数字字符,请问正则表达式怎么写?
- 紧急求救一个问题请班主和各位老大快施援手,谢了!
- 那位大哥可以帮帮小弟!!!如何将text中值进行转换然后存储到oracle数据库的blob数据类型字段
- 自定义控件的事件问题
- string categoryid=Page.Request["categoryid"]; int id=Convert.ToInt32(categoryid);有错误吗?
总结一下在 .Net 中读写Oracle数据库常用两种方式:OracleClient和OleDb,其中OleDb的方式根据驱动程序的不同又有两种。 1. OracleClient方式,是微软专门针对Oracle数据库开发的,仅在 .NET Framework 1.1 版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Oracle数据库服务器端采用英文字符集比如 US7ASCII 时,客户端不管字符集如何设置,读出的中文都是乱码;若服务器端用中文字符集比如 ZHS16GBK ,则无乱码问题。
引用类库:System.Data.OracleClient.dll。
命名空间:System.Data.OracleClient。
常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。
典型连接字符串:“data source=oratest;user id=scott;password=tiger”(注意:可不指定 provider 驱动)。 2. OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。不管Oracle服务器端用何字符集,读写中文均无乱码问题。
相同之处
命名空间:System.Data.OleDb。
常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。
不同之处
引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装Oracle针对.Net的数据访问组件。
连接字符串:与OracleClient方式相比,要添加一个provider,微软为“provider=MSDAORA.1;”,Oracle为“provider='OraOleDb.Oracle';”。