Click here to Skip to main content
15,885,801 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
I can write any query from a text box for eg..

SQL
Select * from table

select product from food

Delete * from good

select product,quantity,id from food


How can i get the food or the word just after the word FROM

i need to extact just table name

please help anyone
Posted
Updated 8-Mar-14 8:20am
v2
Comments
Maciej Los 8-Mar-14 14:21pm    
What have you tried? Where are you stuck?
mrukr 8-Mar-14 14:28pm    
Dim str As String = textbox1.text
If str.Contains("FROM"C) Then
Dim index As Integer = str.IndexOf("FROM"C)
Dim result As String = str.Substring(0, index)
Console.WriteLine("result: " & result)
End If

im not sure if this is not working for the result

1 solution

Please, read my comment to the question.

All you need to do is to find FROM word than to extract table name.
How to: Search Strings Using String Methods (C# Programming Guide)[^]
How to: Search Within a String (Visual Basic)[^]
How to: Search Strings Using Regular Expressions (C# Programming Guide)[^] - true, it's c#, but you can convert it via for example developerfusion online converter[^]

But i need to warn you. In some cases, sql query could looks like:
SQL
SELECT <field list>
FROM (
    SELECT <field list>
    FROM TableName
    WHERE <condition>
) AS T
WHERE <condition>

What do you expect to find?

Please, read these articles:
SQL Parser[^]
Microsoft.SqlServer.Management.SqlParser.Parser Namespace[^]
There you'll find many usefull information.
 
Share this answer
 
v3

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