I assume that you are using a simple SQL query such as
SqlCommand cmd = new SqlCommand("INSERT INTO tab (field1) VALUES (" + textBox1.Text + ")");
And the database complains?
Congratulations! This is leaving an opening known as "SQL Injection".
The addition of special characters causes the database to process them as part of a command. For example (DO NOT DO THIS) if you enter "hello);DROP TABLES tab" into your text box, the SQL would see:
"INSERT INTO tab (field1) VALUES (hello);DROP TABLES tab;)"
as a single command.
Because ';' is a statement terminator, SQl sees this as two commands: An INSERT, followed by a DROP TABLES. It inserts your name as "hello", and then deletes the tab table.
Don't do it this way. Use a parameterized query:
SqlCommand cmd = new SqlCommand("INSERT INTO tab (field1) VALUES (@NAME)");
cmd.AddWithValue("@NAME", textBox1.Text);
And you problem will disappear, instead of your tables...