Click here to Skip to main content
15,891,905 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have project using WPF and NHiberante
it use both database Oracle and Sql

I got error in CreateSQlQuery()

Statement is given below

it is working on sql Database but get error in Oracle Databse
VB
var Query = session.CreateSQLQuery(string.Format(SELECT * FROM Users WHERE UserCode ='admin' AND PASSWORD = '123' 
 UNION 
SELECT * FROM Users WHERE UserId IN (SELECT UserRoleId FROM UserRole WHERE UserId = (SELECT UserId FROM Users WHERE UserCode = 'admin' AND PASSWORD = '123' ))ORDER BY RecordType DESC, UserCode, Password))

if I write this query like below.it is working on Oracle db but not working on sql Database.
VB
var Query = session.CreateSQLQuery(string.Format(SELECT *  FROM(SELECT * FROM Users WHERE UserCode ='admin' AND PASSWORD = '123' 
 UNION 
SELECT * FROM Users WHERE UserId IN (SELECT UserRoleId FROM UserRole WHERE UserId = (SELECT UserId FROM Users WHERE UserCode = 'admin' AND PASSWORD = '123' )))ORDER BY RecordType DESC, UserCode, Password))

I need one query working on both Databse .
If any one can help me..
Posted
Updated 30-Dec-13 20:11pm
v2

1 solution

because it missing alias for sub query
write as below
VB
var Query = session.CreateSQLQuery(string.Format(SELECT *  FROM(SELECT * FROM Users WHERE UserCode ='admin' AND PASSWORD = '123' 
 UNION 
SELECT * FROM Users WHERE UserId IN (SELECT UserRoleId FROM UserRole WHERE UserId = (SELECT UserId FROM Users WHERE UserCode = 'admin' AND PASSWORD = '123' )) temptbl ORDER BY RecordType DESC, UserCode, Password))

Happy coding!
:)
 
Share this answer
 
v2
Comments
Aarti Meswania 31-Dec-13 2:40am    
do not write as just write alias
Member 8470112 31-Dec-13 6:11am    
Hi Aarti Meswania thank you so much .. :)
Its working
Aarti Meswania 31-Dec-13 6:21am    
Most welcome!
Glad to help you! :)
Aarti Meswania 31-Dec-13 7:15am    
If you get solution then please mark it using "Accept Solution"

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900