Click here to Skip to main content
15,892,059 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
im using this code to search from single table. but how to search staff id from 2 table through textbox. my table is ict_table and finance_table



Select * from ict_table where staff_id = '" & id.Text & "'"


What I have tried:

yes.. its work when i search only from single table.
Posted
Updated 14-Sep-17 23:46pm
Comments
Graeme_Grant 15-Sep-17 5:31am    
What do you mean exactly? Do both tables have the same fields, or are they different? do you want 2 different result sets or one resultset joined?

Please update the question with clear and concise details, sample code, any error messages (including inner exception details), etc, by clicking on Improve question widget to add more info to the question.
arezz2012 15-Sep-17 11:32am    
same fields and one resultset joined.. for example, if staff id already exist in database, it will pop-up message "staff id already exist in database".

1 solution

Start by not doing it like that: Never concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.

When you concatenate strings, you cause problems because SQL receives commands like:
SQL
SELECT * FROM MyTable WHERE StreetAddress = 'Baker's Wood'
The quote the user added terminates the string as far as SQL is concerned and you get problems. But it could be worse. If I come along and type this instead: "x';DROP TABLE MyTable;--" Then SQL receives a very different command:
SQL
SELECT * FROM MyTable WHERE StreetAddress = 'x';DROP TABLE MyTable;--'
Which SQL sees as three separate commands:
SQL
SELECT * FROM MyTable WHERE StreetAddress = 'x';
A perfectly valid SELECT
SQL
DROP TABLE MyTable;
A perfectly valid "delete the table" command
SQL
--'
And everything else is a comment.
So it does: selects any matching rows, deletes the table from the DB, and ignores anything else.

So ALWAYS use parameterized queries! Or be prepared to restore your DB from backup frequently. You do take backups regularly, don't you?

If you are trying to retrieve result from two tables then try this:
SQL
SELECT a.*, b.* FROM ict_table a
JOIN other_table b ON a.staff_id = b.staff_id
WHERE a.staff_ID = @ID
And see if that gives you what you are looking for.
 
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