using Microsoft.VisualBasic;
public static void Main()
Console.WriteLine(SQLCharCheck("'test string1'"));
Console.WriteLine(SQLCharCheck("'test string2"));
Console.WriteLine(SQLCharCheck("test string3'"));
Console.WriteLine(SQLCharCheck("test string'4"));
Console.WriteLine(SQLCharCheck("test''''''' st-----ri*/n*/g5"));
Console.WriteLine(SQLCharCheck("test''''''' st-----ri*/n*/g6'"));
public static object SQLCharCheck(string Value, bool incQuotes = true)
bool containsQuote = false;
if (!object.ReferenceEquals(Value, DBNull.Value))
while (Value.Contains("''"))
Value = Value.Replace("''", "'");
while (Value.Contains("--"))
Value = Value.Replace("--", "");
while (Value.Contains("/*"))
Value = Value.Replace("/*", "");
while (Value.Contains("*/"))
Value = Value.Replace("*/", "");
if (string.IsNullOrEmpty(Value.Trim()))
if (!(Value.StartsWith("'") && Value.EndsWith("'")) && Value.ToUpper() != "NULL")
Value = FixQuotes(Value);
public static string FixQuotes(string sLine)
string s = sLine.ToString();
j = Strings.InStr(i, s, @"'");
s = Strings.Left(s, j) + Strings.Mid(s, j);
j = Strings.InStr(i, s, @"'");
return "'" + Strings.Trim(s) + "'";