No, it's not Hindi. You should understand that Hindi is not script (not writing system, not alphabet), it is a language. The alphabet is Devanāgarī, देवनागरी. It was formerly used for Gujarati, but presently a separate Gujarati script (ગુજરાતી લિપિ Gujǎrātī Lipi) is used.
Please see:
https://en.wikipedia.org/wiki/Devanagari[
^],
https://en.wikipedia.org/wiki/Gujarati_language#Writing_system[
^],
https://en.wikipedia.org/wiki/Gujarati_alphabet[
^].
You just need to use Unicode data types. I have no idea what you are missing. You could fail to search for something by a number of different reasons.
As to your query, your approach is wrong from the very beginning. The query composed by concatenation with strings taken from UI. Not only repeated string concatenation is inefficient (because strings are
immutable; do I have to explain why it makes repeated concatenation bad?), but there is way more important issue: it opens the doors to a well-known exploit called
SQL injection.
This is how it works:
http://xkcd.com/327.
Are you getting the idea? The string taken from a control can be anything, including… a fragment of SQL code.
What to do? Just read about this problem and the main remedy:
parametrized statements:
http://en.wikipedia.org/wiki/SQL_injection.
With ADO.NET, use this:
http://msdn.microsoft.com/en-us/library/ff648339.aspx.
Please see my past answers for some more detail:
EROR IN UPATE in com.ExecuteNonQuery();,
hi name is not displaying in name?.
Now, please listen carefully. I have never being in India and cannot speak any of the language. You are from India. But I have a lot of respect to great Indian culture, as well as other cultures, enough to avoid being ignorant so much to mix up languages with writing systems and to be so lazy not to read about the cultures involved. How come you, a software developer from India, can be so ignorant or lazy to have no clue of such basic cultural things? You are not along. I cannot solve this mystery. This is too bad and sad…
—SA