第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

執(zhí)行到ExecuteReader這時(shí),會(huì)報(bào)未將對象引用設(shè)置到對象的實(shí)例的錯(cuò)誤?

執(zhí)行到ExecuteReader這時(shí),會(huì)報(bào)未將對象引用設(shè)置到對象的實(shí)例的錯(cuò)誤?

呼喚遠(yuǎn)方 2022-05-01 10:10:59
在.net里有如下一段代碼OracleConnection oraCon = null;OracleCommand oraCmd = null;OracleDataReader oraRdr = null;oraCon = new OracleConnection("data source=test;user id=test;password=test");oraCmd = new OracleCommand("select * from tb where id=:id", oraCon);oraCmd.BindByName = true;oraCmd.Parameters.Add("id", OracleDbType.NVarchar2, 20, "001", ParameterDirection.Input);oraCon.Open();oraRdr = oraCmd.ExecuteReader();就執(zhí)行到ExecuteReader這時(shí),報(bào)System.NullReferenceException: 未將對象引用設(shè)置到對象的實(shí)例的錯(cuò)誤可是oraCmd明明實(shí)例化了啊為什么啊
查看完整描述

2 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

你的代碼很奇怪,哪來的BindByName?還有那個(gè)oraCmd.Parameters.Add,根本沒有這個(gè)方法重載
后來查了一下,發(fā)現(xiàn)你用的是ODP.net
我沒用過這個(gè)

你用的是System.Data.OracleClient命名空間下的類嗎?

我按著你的寫法寫了一遍,我機(jī)器上測試通過:
首先
using System.Data.OracleClient;

OracleConnection oraCon = null;
OracleCommand oraCmd = null;
OracleDataReader oraRdr = null;

oraCon = new OracleConnection("data source=test;user id=test;password=test");
oraCmd = new OracleCommand("select * from tb where id=:id", oraCon);
OracleParameter oraPara = new OracleParameter("id", OracleType.NVarChar);
oraPara.Direction = ParameterDirection.Input;
oraPara.Value = "001";
oraCmd.Parameters.Add(oraPara);
oraCon.Open();
oraRdr = oraCmd.ExecuteReader(CommandBehavior.CloseConnection);
oraRdr.Read();
Response.Write(oraRdr[0].ToString());
oraRdr.Close();



查看完整回答
反對 回復(fù) 2022-05-04
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

OracleConnection oraCon = null;
OracleCommand oraCmd = null;

oraCon = new OracleConnection("Data Source=his2;User ID=scott;Password=tiger;Unicode=True");
oraCmd = new OracleCommand("select ename,sal from emp where empno=&empno", oraCon);

oraCmd.Parameters.Add("empno", OracleType.VarChar, 10, "empno").Value="7788";
oraCon.Open();

OracleDataReader oraRdr = oraCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

while (oraRdr.Read())
{
Console.WriteLine("\t{0}\t{1}", oraRdr.GetString(0), oraRdr.GetInt32(1));
}

oraRdr.Close();

因?yàn)閼械媒ㄒ粡埍砣プ鰷y試,就用了oracle的初始emp表,你可以自己對照一下.

額對,補(bǔ)充一下,我看到你說用oraclecommand就沒有向樓上那樣去查到底是什么,認(rèn)為就是System.Data.OracleClient這個(gè)命名空間下的東西了.

上面的編碼要能用需要添加這個(gè)引用

其次如果scott被鎖了要用sysdba打開...

命令:alter user scott account unlock;



查看完整回答
反對 回復(fù) 2022-05-04
  • 2 回答
  • 0 關(guān)注
  • 365 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號