怎样读取Oracle数据库的Long型的字段?
解决方案 »
- LISTBOX 模板列 LinkButton 怎么取值
- 经常遇到这个问题,在页面上没有用验证控件,使用了ajax。在pages头部加上enableEventValidation="false"就可以,什么原因?
- 如何弹出没有status 栏的窗口来?
- 插入空格的那个代码是什么?
- datagrid模板问题,请教高手
- 编写的dll文件,在本机引用正确.但在别人机子上引用出错?
- 关于打印提示不包含对“DOCUMENT”的定义的问题?
- 同级角色用户授权
- 下面两种增加Parameter的方法有什么区别?
- 怎样配置IIS才行?有没有这样的文章?
- 2005-9-22 12:00:00 怎么变成“2005-9-22”?
- 寻Visual Studio.NET 2003 企业架构版第二张盘高速下载
OracleConnection conn = new OracleConnection(connstr);
conn.Open();
string sql = "select tmp_long from tmp where tmp_id=5";
OracleDataAdapter myAdp = new OracleDataAdapter(sql, conn);
DataTable mydt = new DataTable();
myAdp.Fill(mydt);值 = mydt.Rows[0][0].ToString();
我用DataReader.GetBytes()了,我再试试
但建议你用CLOB,不要用LOGN,会出很多问题的,比如无法查找,参与联合查询时出错,无法转移等
谢谢你了数据库我不能改的
我刚才试了,同样的语句用Microsoft oracle client驱动就能读出来
而换成Oracle Data Provider for .NET 就读不出来了,返回一个空串了,为什么呀
{
string connstr = "Provider=MSDAORA.1;Password=aqjc;User ID=aqjc;Data Source=aqjc";
this.conn = new OleDbConnection(connstr);
this.conn.Open();
OleDbCommand myOleDbCommand = new OleDbCommand(sql,this.conn);
OleDbDataAdapter myData = new OleDbDataAdapter(myOleDbCommand); DataSet myDataset = new DataSet();
try
{
myData.Fill(myDataset);
}
catch(Exception ex)
{
throw ex;
} this.conn.Close();
return myDataset.Tables[0];
}private void Page_Load(object sender, System.EventArgs e)
{
string sql = "select * from tmp where tmp_id=5";
DataTable mytab = this.conn_open(sql);
this.Response.Write(mytab.Rows[0]["tmp_long"].ToString());
}
谢谢你这么热心的帮助我oracle client 和OLEDB我也试了,可以直接读出来
现在的问题是我们使用的是Oracle Data Provider for .NET
也就是ODP.net做驱动,这样的话同样的方法就不出来值了
----------------
你这个是不是原来在1.0版里面,微软专门做的那个驱动?难道你不能换用别的吗?
但是我试了ODP.NET的dataReader的大部分方法,都读不出long型得值,而同样的方法换成oracle client 和OLEDB就好用,真郁闷呀
恐怕是不能解决了...
http://www.oracle.com/technology/global/cn/software/tech/windows/odpnet/index.html
========
你是想读取二进制的字段吗
OracleConnection Conn=new OracleConnection(dbconn.DbConnStr);
OracleCommand Comm=Conn.CreateCommand();
Comm.CommandText="select b from test where id=3";
Conn.Open();
OracleDataReader dr=Comm.ExecuteReader();
if (dr.Read())
{
this.Literal1.Text=dr["b"].ToString();
}
Conn.Close();
dr.Close();
用Oracle Data Provider for .NET 也就是ODP.net做驱动时用dataReader.GetString()就不出来值了
现在还没有解决,有没有用过ODP.net的?