Click here to Skip to main content
15,893,622 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to execute two queries as below:
C#
string str = "select tblPersonalDetails.Email,tblPersonalDetails.FirstName,tblPersonalDetails.LastName,tblPersonalDetails.Gender,tblPersonalDetails.Mobile,tblPersonalDetails.Email,tblPersonalDetails.ValidPassport,tblPersonalDetails.Sources,tblPersonalDetails.JoinDate,tblEducationalDetails.XthPercentage,tblEducationalDetails.XIIthPercentage,tblEducationalDetails.GCourse,tblEducationalDetails.GPercentage,tblEducationalDetails.PGCourse,tblEducationalDetails.PGPercentage from tblPersonalDetails Inner Join tblEducationalDetails on tblPersonalDetails.ID=tblEducationalDetails.ID where (tblPersonalDetails.FirstName like '%' + @search + '%' )";

C#
sting str1 ="select tblPersonalDetails.ID,tblPersonalDetails.FirstName,tblPersonalDetails.LastName,tblPersonalDetails.Gender,tblPersonalDetails.Mobile,tblPersonalDetails.Email,tblPersonalDetails.ValidPassport,tblPersonalDetails.Sources,tblPersonalDetails.JoinDate,tblEducationalDetails.XthPercentage,tblEducationalDetails.XIIthPercentage,tblEducationalDetails.GCourse,tblEducationalDetails.GPercentage,tblEducationalDetails.PGCourse,tblEducationalDetails.PGPercentage from tblPersonalDetails Inner Join tblEducationalDetails on tblPersonalDetails.ID=tblEducationalDetails.ID where (tblPersonalDetails.Gender like '%' + @search + '%' )";
How to do it by creating stored procedure?
Posted
Updated 17-Mar-15 0:06am
v2
Comments
Tushar sangani 17-Mar-15 5:54am    
you Can Only run at time one Query
Member 11304660 17-Mar-15 5:56am    
only where condition is different. So is there any other option
F-ES Sitecore 17-Mar-15 6:16am    
Depends on the database, most servers (include SQL Server) allow you to execute multiple queries, even have multiple result sets. However the OP may actually need just one SP with an "or" in the WHERE rather than two distinct queries.
F-ES Sitecore 17-Mar-15 6:15am    
Have you tried googling "how to create a stored procedure in sql server" and gone through examples? Also try "ado.net execute stored procedure".

It's quite simple:
C#
CREATE PROCEDURE SearchBy2Fields
    @search NVARCHAR(500)
AS
BEGIN

SELECT pd.ID, pd.FirstName, pd.LastName, pd.Gender, pd.Mobile, pd.Email, pd.ValidPassport, pd.Sources, pd.JoinDate, ed.XthPercentage, ed.XIIthPercentage, ed.GCourse, ed.GPercentage, ed.PGCourse, ed.PGPercentage
FROM tblPersonalDetails AS pd Inner Join tblEducationalDetails AS ed on pd.ID=ed.ID
WHERE (pd.FirstName like '%@search%') OR (pd.Gender like '%@search%') 

END


For further information, please see: CREATE PROCEDURE (Transact-SQL)[^]
 
Share this answer
 
Further to solution 1 if you want to change the columns that you search on then pass the name of the column into the procedure and build some dynamic sql e.g.
SQL
DECLARE @dynSql as varchar(max)
SET @dynSql = 'select A.ID, A.FirstName,A.LastName,A.Gender,A.Mobile,A.Email,A.ValidPassport,A.Sources,'
SET @dynSql = @dynSql + 'A.JoinDate,B.XthPercentage,B.XIIthPercentage,B.GCourse, B.GPercentage,B.PGCourse,B.PGPercentage '
SET @dynSql = @dynSql + 'from tblPersonalDetails A Inner Join tblEducationalDetails B on A.ID=B.ID '
SET @dynSql = @dynSql + 'where A.' + @colName + ' like ''%' + @search + '%'''

then you can sp_execute[^] the statement.

Note I've also used aliases for the tables to shorten the query into a readable state
 
Share this answer
 

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