040908 Q SQL statement In SqlServer & Oracle --SELECT TOP 0 * FROM & ROWNUM = 0

1.string strSQL = "SELECT TOP 0 * FROM " + strTblName ;

OracleDataAdapter oraAdapter = new OracleDataAdapter();

     oraAdapter.SelectCommand = GetOraCommand(strSQL) ; // new OracleCommand

     DataTable dt = new DataTable();

     oraAdapter.FillSchema(dt, System.Data.SchemaType.Mapped);

     // Error :ORA-00923: FROMキーワードが指定の位置にありません。/n

    使用SqlClient时正常,Oracle 时出上面错。为什么?

   A:Oracle 使用 WHERE ROWNUM = 0

2.Oracle 里使用OracleParameter的SQL 语句

   DataTable dt = new DataTable();
   string ConnectString = "server=ibm2d; uid=ibm2d;pwd=ibm2d; Data Source=ibm2d";
   string strSQL = "SELECT * FROM JS_KOJIN_TBL WHERE KJNNO  = :KJNNO";//SqlServer里用KJNNO = @KJNNO
   OracleConnection conn = new OracleConnection(ConnectString);
   conn.Open();

   OracleCommand cmd = new OracleCommand(strSQL, conn);
   cmd.CommandType = CommandType.Text;
   OracleDataAdapter oraAdapter = new OracleDataAdapter();
   oraAdapter.SelectCommand = cmd;
   oraAdapter.SelectCommand.Parameters.Add (":KJNNO",OracleType.VarChar,4,"KJNNO");
   oraAdapter.SelectCommand.Parameters[":KJNNO"].Value = "1099";
   
   oraAdapter.Fill(dt);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值